溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

5. Python數(shù)據(jù)類型之元組、集合、字典

發(fā)布時(shí)間:2020-07-12 18:44:11 來(lái)源:網(wǎng)絡(luò) 閱讀:154 作者:軟件測(cè)試汪 欄目:編程語(yǔ)言

元組(tuple)

元組創(chuàng)建很簡(jiǎn)單,只需要在小括號(hào)中添加元素,并使用逗號(hào)隔開(kāi)即可。與列表不同的是,元組的元素不能修改。如下代碼所示:

tup1 = ()
tup2 = (1)
tup3 = (1,)
tup4 = ('test', 1, False)
tup5 = (1, 2, 3, 4, 5)
tup6 = "a", "b", "c", "d"

print(type(tup1))
print(type(tup2))
print(type(tup3))
print(type(tup4))
print(type(tup5))
print(type(tup6))

上面代碼將輸出如下內(nèi)容:

<class 'tuple'>
<class 'int'>
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
<class 'tuple'>
通過(guò)輸出內(nèi)容我們發(fā)現(xiàn)只有tup2類型是整型,其余都是元組。這是為什么呢?如果小括號(hào)里只有一個(gè)元素時(shí),請(qǐng)?jiān)诤竺婕由稀?”,才能表示元組。tup6雖然沒(méi)有用(),但是也是元組一種特殊的寫法。

操作元組

元組(tuple)與列表類似,不同之處在于元組的元素不能修改。我們可以對(duì)元組進(jìn)行相關(guān)操作。如下代碼所示:

a = (1, 'test', '你好', 1 + 2, False, [2, 3, 'CHINA'])
print("通過(guò)索引方式訪問(wèn)元組第1個(gè)元素:", a[0])
print("通過(guò)索引方式訪問(wèn)元組第2個(gè)元素:", a[1])
print("通過(guò)索引方式訪問(wèn)元組第3個(gè)元素:", a[2])
print("通過(guò)索引方式訪問(wèn)元組第4個(gè)元素:", a[3])
print("通過(guò)索引方式訪問(wèn)元組第5個(gè)元素:", a[4])
print("通過(guò)索引方式訪問(wèn)元組第6個(gè)元素:", a[5])
print("用負(fù)數(shù)訪問(wèn)方式,元組第6個(gè)元素為:", a[-1])
print("用負(fù)數(shù)訪問(wèn)方式,元組第5個(gè)元素為:", a[-2])

print("元組第2個(gè)元素到第6個(gè)元素,步長(zhǎng)為2:", a[1:5:2])
print("倒數(shù)第2個(gè)數(shù)到最后:", a[-2:])
print("元組第6個(gè)元素是一個(gè)列表,訪問(wèn)嵌套列表第1個(gè)元素:", a[5][0])

上面代碼將輸出如下內(nèi)容:

通過(guò)索引方式訪問(wèn)元組第1個(gè)元素: 1
通過(guò)索引方式訪問(wèn)元組第2個(gè)元素: test
通過(guò)索引方式訪問(wèn)元組第3個(gè)元素: 你好
通過(guò)索引方式訪問(wèn)元組第4個(gè)元素: 3
通過(guò)索引方式訪問(wèn)元組第5個(gè)元素: False
通過(guò)索引方式訪問(wèn)元組第6個(gè)元素: [2, 3, 'CHINA']
用負(fù)數(shù)訪問(wèn)方式,元組第6個(gè)元素為: [2, 3, 'CHINA']
用負(fù)數(shù)訪問(wèn)方式,元組第5個(gè)元素為: False
元組第2個(gè)元素到第6個(gè)元素,步長(zhǎng)為2: ('test', 3)
倒數(shù)第2個(gè)數(shù)到最后: (False, [2, 3, 'CHINA'])
元組第6個(gè)元素是一個(gè)列表,訪問(wèn)嵌套列表第1個(gè)元素: 2

集合(set)

集合(set)是由一個(gè)或數(shù)個(gè)形態(tài)各異的大小整體組成的,構(gòu)成集合的事物或?qū)ο蠓Q作元素或是成員?;竟δ苁沁M(jìn)行成員關(guān)系測(cè)試和刪除重復(fù)元素??梢允褂么罄ㄌ?hào) { } 或者 set() 函數(shù)創(chuàng)建集合,注意:創(chuàng)建一個(gè)空集合必須用 set() 而不是 { },因?yàn)?{ } 是用來(lái)創(chuàng)建一個(gè)空字典。

創(chuàng)建格式

set1 = {value1,value2,...}
或者
set(value)

我們可以對(duì)元組進(jìn)行相關(guān)操作。如下代碼所示:

name = {'testDog', 'Jim', 'Mary', 'Jim', 'Jack', 'Rose'}

print(name)  # 輸出集合,重復(fù)的元素被自動(dòng)去掉

# 成員測(cè)試
if 'testDog' in name:
    print('testDog 在集合中')
else:
    print('testDog 不在集合中')

# set可以進(jìn)行集合運(yùn)算
a = set('testDogDog')
b = set('test')
c = {}

print(a)
print(b)
print(type(c))
print(a - b)  # a 和 b 的差集
print(a | b)  # a 和 b 的并集
print(a & b)  # a 和 b 的交集
print(a ^ b)  # a 和 b 中不同時(shí)存在的元素

上面代碼將輸出如下內(nèi)容:

{'Mary', 'Rose', 'testDog', 'Jack', 'Jim'}
testDog 在集合中
{'t', 'e', 'g', 's', 'o', 'D'}
{'t', 's', 'e'}
<class 'dict'>
{'D', 'o', 'g'}
{'t', 'e', 'g', 's', 'o', 'D'}
{'t', 's', 'e'}
{'o', 'g', 'D'}

注意:因?yàn)榧鲜菬o(wú)序的,所以你輸出的結(jié)果順序可能與筆者不一致,并不是錯(cuò)誤,如果定義一個(gè)空{(diào)},類型將為字典。

字典(dict)

列表是有序的對(duì)象集合,字典是無(wú)序的對(duì)象集合。字典是一種映射類型,字典用"{ }"標(biāo)識(shí),它是一個(gè)無(wú)序的鍵(key) : 值(value)對(duì)集合。鍵(key)必須使用不可變類型。在同一個(gè)字典中,鍵(key)必須是唯一的。如下代碼所示:

a = {"code": "10000", "result": 1, "status": 1, "text": "操作成功"}
print("取code的值", a["code"])

print("輸出所有鍵", a.keys())
print("輸出所有值", a.values())

上面代碼將輸出如下內(nèi)容:

取code的值 10000
輸出所有鍵 dict_keys(['code', 'result', 'status', 'text'])
輸出所有值 dict_values(['10000', 1, 1, '操作成功'])

小結(jié):數(shù)據(jù)類型主要有數(shù)字、字符串、列表、元組、集合、字典。筆者將通過(guò)思維導(dǎo)圖找出這些數(shù)據(jù)類型共通點(diǎn)和不同點(diǎn),方便記憶。如下圖所示:

5. Python數(shù)據(jù)類型之元組、集合、字典

歡迎關(guān)注微信公眾號(hào):軟件測(cè)試汪。軟件測(cè)試交流群:809111560

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI