日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

Python学习 —— 内置数据类型

發(fā)布時(shí)間:2023/11/16 python 50 coder
生活随笔 收集整理的這篇文章主要介紹了 Python学习 —— 内置数据类型 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

寫在前面

接上文《Python學(xué)習(xí) —— 初步認(rèn)知》,有需要請(qǐng)自取:Python學(xué)習(xí) —— 初步認(rèn)知

在這篇文章中,我們一起深入了解Python中常用的內(nèi)置數(shù)據(jù)類型。Python是一種功能強(qiáng)大的編程語(yǔ)言,它提供了多種內(nèi)置數(shù)據(jù)類型,用于存儲(chǔ)和操作數(shù)據(jù)。這些數(shù)據(jù)類型包括數(shù)字、字符串、序列和映射等。熟練掌握這些數(shù)據(jù)類型的用法,可以幫助我們更高效地編寫Python程序。

內(nèi)置類型概覽

Python中的常見數(shù)據(jù)類型包括數(shù)字類型(如int、float和complex)文本類型(如str)序列類型(如list、tuple和range) 以及 映射類型(如dict) 。這些數(shù)據(jù)類型的主要用途是存儲(chǔ)和操作數(shù)據(jù),它們具有內(nèi)置的常用函數(shù)、運(yùn)算符復(fù)用、明確的語(yǔ)義以及通用的高效功能。

在Python中,我們通常將數(shù)據(jù)從非結(jié)構(gòu)化形式轉(zhuǎn)換為結(jié)構(gòu)化形式。例如,我們可以使用列表和元組來(lái)存儲(chǔ)一系列對(duì)象,這些對(duì)象可以是數(shù)字、字符串,甚至是其他列表或元組。另一方面,字典是一種用于存儲(chǔ)鍵值對(duì)的數(shù)據(jù)結(jié)構(gòu),它通常用于處理半結(jié)構(gòu)化數(shù)據(jù)。

常用的數(shù)據(jù)類型包括數(shù)字、字符串、序列、映射, 序列中列表和元祖最常用,映射中字典最常用。

列表

列表是Python中最常用的數(shù)據(jù)類型之一。它們可以包含不同類型的數(shù)據(jù),例如數(shù)字、字符串等。列表使用方括號(hào) [] 表示,每個(gè)元素稱為列表的元素,元素之間使用逗號(hào) , 分隔。

列表的定義

以下是定義列表的示例:

包含數(shù)字的列表:[1, 2, 3, 4, 5]
包含字符串的列表:['aa', 'cc', 'dd']
包含不同類型數(shù)據(jù)的列表:[123, 'abc']
包含子列表的列表:[ [1, 'a'], [2, 'b'] ]

除了直接定義列表之外,還可以在定義之后修改列表中的元素,或者使用索引來(lái)訪問和修改一個(gè)或多個(gè)元素。此外,列表還支持許多內(nèi)置函數(shù),如添加元素、刪除元素、排序等。

創(chuàng)建列表

可以使用賦值運(yùn)算符將一個(gè)字符串轉(zhuǎn)換為列表:

colors = ["red", "blue", "green"]  
print(colors) # 將列表打印出來(lái)  
print(type(colors)) # 打印 colors 變量的類型

使用內(nèi)置函數(shù)list()也可以將字符串創(chuàng)建為列表:

list('red') # ['r', 'e', 'd']

此外,還可以使用列表推導(dǎo)式創(chuàng)建列表。例如,以下代碼使用列表推導(dǎo)式創(chuàng)建一個(gè)包含1到10之間的整數(shù)的列表:

[ x for x in range(1, 10) ] # [1, 2, 3, 4, 5, 6, 7, 8, 9]

訪問列表的元素

可以通過(guò)索引訪問列表中的每一個(gè)元素。例如,以下代碼演示了如何訪問列表 list1 中的第一個(gè)元素:

list1 = ['a', 'b', 'c', 'd']
list1[0] # a

可以使用負(fù)索引來(lái)訪問最后一個(gè)元素。例如,以下代碼訪問列表 list1 中的最后一個(gè)元素:

list1[-1] # d

如果需要訪問嵌套列表中的元素,可以使用多個(gè)索引。例如,以下代碼訪問列表 list2 中第三個(gè)元素中的第一個(gè)元素:

list2 = ['a', 'b', ['c', 'd']]
list2[2][0] # c

刪除列表的元素和刪除列表

可以使用 del 語(yǔ)句來(lái)刪除列表中的元素或整個(gè)列表。例如:

list1 = [1, 2, 3, 4, 5]
del list1[0] # 刪除第一個(gè)元素
print(list1) # [2, 3, 4, 5]
del list1 # 刪除整個(gè)列表

列表的常見操作

列表是可變的,可以進(jìn)行添加、修改、刪除等操作。以下是一些常見的操作方法:

  • list.append(element):在列表末尾添加元素。
  • list.insert(index, element):在指定位置插入元素。
  • list.remove(element):移除列表中第一個(gè)出現(xiàn)的元素。
  • list.pop(index):移除并返回指定位置的元素。
  • list.extend(iterable):將可迭代對(duì)象中的元素添加到列表末尾。
  • list.clear():清空列表中的所有元素。
  • list.index(element):返回指定元素的索引位置。
  • list.count(element):返回指定元素在列表中出現(xiàn)的次數(shù)。
  • list.sort():對(duì)列表進(jìn)行排序(原地排序)。
  • list.reverse() : 反轉(zhuǎn)列表元素的順序。
  • sorted(list): 對(duì)列表進(jìn)行排序并返回新的列表(不改變?cè)斜恚?/li>
  • len(list): 得到列表的長(zhǎng)度。
  • len(list[0]): 得到列表中元素的長(zhǎng)度。
  • list.count(element) : 得到元素出現(xiàn)的次數(shù)。

例如,以下代碼演示了如何使用這些方法對(duì)列表進(jìn)行操作:

list1 = ['hello', 1, 4, 1, 5, 9]
len(list1) # 列表的長(zhǎng)度,得到 6
len(list1[0]) # 列表中第一個(gè)元素的長(zhǎng)度,得到 5
list1.count(1) # 1出現(xiàn)的次數(shù),得到 2
list1.append(2) # 在末尾添加元素,得到 [3, 1, 4, 1, 5, 9, 2]
list1.insert(2, 6) # 在位置2插入元素6,得到 [3, 1, 6, 4, 1, 5, 9, 2]
list1.remove(4) # 移除第一個(gè)出現(xiàn)的4,得到 [3, 1, 6, 1, 5, 9, 2]
list1.pop(2) # 移除并返回位置2的元素,得到 [3, 1, 1, 5, 9, 2]
list1.extend([2, 3]) # 將[2, 3]中的元素添加到末尾,得到 [3, 1, 1, 5, 9, 2, 2, 3]
list1.clear() # 清空列表,得到 []

元祖

元祖是一種不可變序列,與列表相似,但創(chuàng)建后不可修改。元祖在Python中用于表示不可變數(shù)據(jù)序列,如文本字符串和二進(jìn)制數(shù)據(jù)。與列表相比,元祖的執(zhí)行效率更高,因?yàn)樗鼈儾恍枰獎(jiǎng)討B(tài)分配內(nèi)存。

序列和元祖

基本的序列包括列表、元祖、range

  • 元祖和列表類似,但是差別是創(chuàng)建后不可修改
  • 二進(jìn)制數(shù)據(jù)和文本字符串屬于特別定制的附加序列

序列的通用操作

運(yùn)算 結(jié)果
x in s 如果 s 中的某項(xiàng)等于 x 則結(jié)果為 True,否則為 False
x not In s 如果 s 中的某項(xiàng)等于 x 則結(jié)果為 Fasle,否則為 True
s + t s 與 t 相拼接
s * n 或 n * s 相當(dāng)于 s 與自身進(jìn)行 n 次拼接
s[i] s 的第 i 項(xiàng),起始為 0
s[i:j] s 從 i 到 j 的切片
s[i:j:k] s 從 i 到 j 步長(zhǎng)為 k 的切片
len(s) s 的長(zhǎng)度
min(s) s 的最小項(xiàng)
max(s) s 的最大項(xiàng)
s.index(x[, i[, j]]) x 在 s 中首次出現(xiàn)項(xiàng)的索引號(hào)(索引號(hào)在 i 或者其后且在 j 之前)
s.count(x) x 在 s 中出現(xiàn)的總次數(shù)

創(chuàng)建元祖

元祖可以使用圓括號(hào) “()” 定義,也可以使用 tuple() 函數(shù)創(chuàng)建。將 range()、列表、字符串轉(zhuǎn)換為元祖可以使用類型轉(zhuǎn)換函數(shù)。

例如:

# 使用圓括號(hào)定義元祖
my_tuple = (1, 2, 3)
print(my_tuple) # 輸出:(1, 2, 3)

# 使用tuple()函數(shù)創(chuàng)建元祖
my_tuple = tuple([1, 2, 3])
print(my_tuple) # 輸出:(1, 2, 3)

# 將列表轉(zhuǎn)換為元祖
my_list = [4, 5, 6]
my_tuple = tuple(my_list)
print(my_tuple) # 輸出:(4, 5, 6)

刪除元祖

元祖是不可變序列,因此無(wú)法使用append()、pop()insert()等修改序列元素的函數(shù)。如果需要?jiǎng)h除元祖中的元素,可以使用 del 語(yǔ)句刪除整個(gè)元祖或指定元素。例如:

my_tuple = (1, 2, 3)
# 刪除整個(gè)元祖
del my_tuple
print(my_tuple) # 報(bào)錯(cuò):NameError: name 'my_tuple' is not defined

集合的常見操作

Python 中的集合類型包括 setfrozenset 兩種對(duì)象。set 對(duì)象是可變的,而 frozenset 對(duì)象是不可變的。set 對(duì)象在程序設(shè)計(jì)中比較常使用。集合的唯一性是經(jīng)常使用該數(shù)據(jù)類型的主要原因。從序列中去除重復(fù)項(xiàng)等操作,可以通過(guò)數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換實(shí)現(xiàn)。

創(chuàng)建 set 對(duì)象

集合可以使用多種方式創(chuàng)建,包括使用花括號(hào)內(nèi)以逗號(hào)分隔元素的方式、使用集合推導(dǎo)式和使用類型構(gòu)造器。例如:

# 使用花括號(hào)定義set對(duì)象
my_set = {1, 2, 3}
print(my_set) # 輸出:{1, 2, 3}

# 使用集合推導(dǎo)式創(chuàng)建set對(duì)象
my_set = {x for x in range(10)}
print(my_set) # 輸出:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

# 使用類型構(gòu)造器創(chuàng)建set對(duì)象
my_set = set([1, 2, 3])
print(my_set) # 輸出:{1, 2, 3}

set 對(duì)象的常用操作

  • len(s):返回集合 s 中的元素?cái)?shù)量。
  • x in s:檢測(cè) x 是否為 s 中的成員。
  • s <= other:檢測(cè)是否集合 s 中的每個(gè)元素都在 other 之中。
  • s < other:檢測(cè)集合 s 是否為 other 的真子集。
  • add(element):將元素 element 添加到集合 s 中。
  • remove(element):從集合 s 中移除元素 element。
  • pop():從集合 s 中隨機(jī)移除一個(gè)元素并返回它。
  • clear():清空集合 s 中的所有元素。

刪除 set 對(duì)象

my_set = {1, 2, 3}
# 刪除 set 對(duì)象
del my_set
print(my_set) # 報(bào)錯(cuò):NameError: name 'my_set' is not defined

字典

字典是一種可變的數(shù)據(jù)類型,用于存儲(chǔ)鍵值對(duì)。字典中的每個(gè)元素由一個(gè)鍵和一個(gè)值組成,鍵是唯一的,因此無(wú)法使用不可哈希的類型(如列表或字典)作為鍵。整數(shù)1和浮點(diǎn)數(shù)1.0會(huì)被視為相同的鍵。

字典的定義

字典的定義可以通過(guò)花括號(hào) {}來(lái)實(shí)現(xiàn),也可以使用 dict() 函數(shù)或字典推導(dǎo)式。例如:

# 使用花括號(hào)定義字典
my_dict = {'one': 1, 'two': 2}
print(my_dict) # 輸出:{'one': 1, 'two': 2}

# 使用dict()函數(shù)定義字典
my_dict = dict(one=1, two=2)
print(my_dict) # 輸出:{'one': 1, 'two': 2}

# 使用字典推導(dǎo)式定義字典
my_dict = {x: x**2 for x in range(10)}
print(my_dict) # 輸出:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

字典常見操作

1.訪問字典的內(nèi)容,例如:

mail_list = {'tom': 'tom@mail.com', 'jerry': 'jerry@mail.com'}  
print(mail_list.items())  # 輸出:dict_items([('tom', 'tom@mail.com'), ('jerry', 'jerry@mail.com')])

2.訪問字典里指定的鍵:可以通過(guò)鍵來(lái)訪問字典中的值。例如:

mail_list = {'tom': 'tom@mail.com', 'jerry': 'jerry@mail.com'}
print(mail_list['tom'])  # 輸出:tom@mail.com

3.遍歷字典:可以通過(guò) items() 方法來(lái)遍歷字典中的鍵值對(duì)。例如:

for key, value in mail_list.items():
    print(key, value)

4.修改字典內(nèi)容:為字典添加新的鍵值對(duì),如果字典中已經(jīng)包含鍵 'tom',則更新該鍵對(duì)應(yīng)的值。例如:

mail_list['tom'] = 'new_email@mail.com'

5.刪除鍵值對(duì):可以使用 pop() 方法刪除指定的鍵值對(duì)并返回值。例如:

removed_value = mail_list.pop('tom')

6.返回字典的項(xiàng)數(shù):可以使用 len() 函數(shù)返回字典中的項(xiàng)數(shù)。例如:

num_items = len(mail_list)

7.判斷鍵是否在字典中:可以使用 in 關(guān)鍵字來(lái)檢查一個(gè)鍵是否存在于字典中。例如:

if 'jerry' in mail_list:
    print("Jerry's email is in the dictionary.")

8.高級(jí)用法:可以使用 setdefault() 方法插入默認(rèn)值;使用 |= 運(yùn)算符更新字典等。例如:

new_email_list = {'wilson': 'wilson@newmail.com'}
mail_list |= new_email_list  # 將新字典的鍵值對(duì)添加到舊字典中,如果鍵已存在則更新對(duì)應(yīng)的值。注意,此操作需要Python 3.9及以上版本支持。

9.字典與其他數(shù)據(jù)類型的混合使用:可以輕松地將列表、元組、字符串等數(shù)據(jù)類型轉(zhuǎn)換為字典,反之亦然。此外,還可以利用 zip() 函數(shù)合并兩個(gè)列表為字典。例如:

name_list = ['name1', 'name2', 'name3']
email_list = ['1111', '2222', '3333']

merged_dict = dict(zip(name_list, email_list))  # 將兩個(gè)列表合并為一個(gè)字典,鍵為name_list中的元素,值為email_list中的元素。

merged_dict2 = { name_list[i]: email_list[i] for i in range(len(name_list)) } # 使用推導(dǎo)式亦可實(shí)現(xiàn)合并功能

刪除字典

my_dict = { a: 1, b: 2, c: 3 }
# 刪除 字典
del my_dic
print(my_dic) # 報(bào)錯(cuò):NameError: name 'my_dic' is not defined

總結(jié)

本文介紹了Python的幾種內(nèi)置數(shù)據(jù)類型,包括列表、元祖、集合和字典,并詳細(xì)介紹了它們的常見操作。

對(duì)于列表(list),我們可以通過(guò)索引訪問列表中的元素,可以使用切片操作獲取列表的一部分,可以進(jìn)行追加、插入和刪除操作,還可以使用循環(huán)遍歷列表中的所有元素。列表還支持一些常用的方法,如append()、insert()、remove()等。

元組(tuple) 是一個(gè)不可變的數(shù)據(jù)類型,與列表類似,但元組的元素不能被修改。元組通常用于存儲(chǔ)一組不會(huì)改變的數(shù)據(jù)。元組可以使用索引和切片操作,也可以進(jìn)行比較和排序操作。

集合(set) 是一個(gè)無(wú)序且不重復(fù)的數(shù)據(jù)集合,可以進(jìn)行添加、刪除、交集、并集等操作。集合中的元素必須是可哈希的。

字典(dictionary) 是一個(gè)可變的數(shù)據(jù)類型,用于存儲(chǔ)鍵值對(duì)。字典中的鍵必須是唯一的,值可以是任何類型的數(shù)據(jù)??梢酝ㄟ^(guò)鍵來(lái)訪問字典中的值,也可以使用字典推導(dǎo)式來(lái)創(chuàng)建新的字典。字典還支持一些常用的方法,如get()、setdefault()等。

這些內(nèi)置數(shù)據(jù)類型在Python中非常常用,掌握它們的操作方法可以更好地處理數(shù)據(jù)和實(shí)現(xiàn)程序功能。

總結(jié)

以上是生活随笔為你收集整理的Python学习 —— 内置数据类型的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。