python 元組的使用方法
元組——tuple
列表非常適合用于存儲在程序運(yùn)行期間可能變化的數(shù)據(jù)集。
列表是可以修改的,但元組是不可修改的
Python將不能修改的值稱為不可變的,而不可變的列表被稱為元組
1. 元組的創(chuàng)建和刪除
(1)使用賦值運(yùn)算符直接創(chuàng)建元組
語法:
tuplename = (element1, element2, element3, ....)
在Python中,元組使用一對小括號將所有的元素括起來,但是小括號不是必須的,只要將一組值用逗號分隔開,Python就可以使其為元組。
verse = '漁舟唱晚', '高山流水', '出水蓮', '漢宮秋月'# 元組
如果要?jiǎng)?chuàng)建的元組中只有一個(gè)元素,需要在元素的后面加上逗號,否則Python使其為字符串。
verse1 = (’一片冰心在玉壺’)# 字符串verse2 = (’一片冰心在玉壺’,)# 元組
(2)創(chuàng)建空的元組
emptytuple = ()
(3)創(chuàng)建數(shù)值元組
可以使用tuple()函數(shù)直接將range()函數(shù)循環(huán)出來的結(jié)果轉(zhuǎn)換為數(shù)值元組
tuple(data)data-可迭代的對象
(4)刪除元組
del tuplename
del語句在實(shí)際開發(fā)中,并不常用,因?yàn)镻ython自帶的垃圾回收機(jī)制會自動銷毀不用的元組,所以即使我們不手動將其刪除,Python也會自動將其回收。
2. 訪問元組元素
通過for循環(huán)
coffee_name = (’藍(lán)山’, ’卡布奇諾’, ’曼特寧’, ’摩卡’, ’麝香貓’, ’哥倫比亞’)print(’您好,歡迎光臨 ~ 伊米咖啡館 ~n我店有:’)for name in coffee_name: print(name, '咖啡', end=’ ’)’’’
輸出
您好,歡迎光臨 ~ 伊米咖啡館 ~我店有:藍(lán)山 咖啡 卡布奇諾 咖啡 曼特寧 咖啡 摩卡 咖啡 麝香貓 咖啡 哥倫比亞 咖啡 ’’’
for + enumerate()
enumerate():——枚舉
該函數(shù)用于將一個(gè)可遍歷的數(shù)據(jù)對象(如列表、元組)組合為一個(gè)索引序列,同時(shí)列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般在for循環(huán)中使用。
team = (’火箭’, ’勇士’, ’開拓者’, ’雷霆’, ’爵士’, ’馬刺’)for index, item in enumerate(team): if index % 2 == 0: print(item + ’tt’, end=’’) else: print(item)
輸出
火箭 勇士開拓者 雷霆爵士 馬刺
3. 修改元組的元素
元組是不可變序列,所以我們不能對它的單個(gè)元素值進(jìn)行修改。通過對元組進(jìn)行重新賦值進(jìn)行修改。
元組和元組是可以進(jìn)行連接的,但連接的兩者必須都是元組才行,否則是錯(cuò)誤的,要連接的元組只有一個(gè)元素時(shí),一定不要忘記后面的逗號。
4. 元組推導(dǎo)式
>>> import random>>> random_number = (random.randint(10,100) for i in range(10))>>> random_number<generator object <genexpr> at 0x0000021A177BDED0># 生成器對象>>> tuple(random_number)# 轉(zhuǎn)換成元組(28, 63, 34, 98, 96, 36, 87, 35, 25, 44)
從上面的執(zhí)行結(jié)果可以看出,使用元組推導(dǎo)式生成的結(jié)果并不是一個(gè)元組或列表,而是一個(gè)生成器對象,這一點(diǎn)和列表推導(dǎo)式不同。
要將該生成器對象轉(zhuǎn)換成元組,使用tuple()方法,轉(zhuǎn)換成列表,使用list()方法。
示例一:
# 通過__next()__方法遍歷# 在Python2.x中__next()__方法對應(yīng)的是next()方法,也是用于遍歷生成器對象的。>>> number = (i for i in range(3))>>> number<generator object <genexpr> at 0x0000021A1781EA20>>>> number.__next__()0>>> number.__next__()1>>> number.__next__()2>>> number.__next__()Traceback (most recent call last): File '<pyshell#11>', line 1, in <module> number.__next__()StopIteration# 停止迭代
示例二:
# 通過for循環(huán)遍歷>>> number = (i for i in range(4))>>> number<generator object <genexpr> at 0x0000021A1781EA98>>>> for i in number:print(i, end=’’) 0123>>> print(tuple(number))()
從上面的兩個(gè)示例中可以看出:無論通過那種方法遍歷,如果想要再次使用該生成器對象,必須重新創(chuàng)建一個(gè)生成器對象,因?yàn)楸闅v后該生成器對象就不存在了。
5. 元組與列表的區(qū)別
(1)列表可變,元組不可變,除非整體替換。
(2)列表可以用append()、extend()、insert()、remove()、pop()實(shí)現(xiàn)添加和刪除功能,而元組沒有這幾個(gè)方法。
(3)列表支持通過切邊進(jìn)行修改和訪問,而元組只支持訪問,不支持修改,再不進(jìn)行任何修改時(shí),建議使用元組。
(4)元組比列表的訪問和處理速度快。
(5)列表不能作為字典的鍵,而元組可以。
以上就是python 元組的使用方法的詳細(xì)內(nèi)容,更多關(guān)于python元組使用的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 基于PHP做個(gè)圖片防盜鏈2. ASP.NET MVC使用Boostrap實(shí)現(xiàn)產(chǎn)品展示、查詢、排序、分頁3. XML在語音合成中的應(yīng)用4. asp.net core 認(rèn)證和授權(quán)實(shí)例詳解5. .NET中實(shí)現(xiàn)對象數(shù)據(jù)映射示例詳解6. php使用正則驗(yàn)證密碼字段的復(fù)雜強(qiáng)度原理詳細(xì)講解 原創(chuàng)7. ASP.NET MVC把數(shù)據(jù)庫中枚舉項(xiàng)的數(shù)字轉(zhuǎn)換成文字8. 如何使用ASP.NET Core 配置文件9. jscript與vbscript 操作XML元素屬性的代碼10. 基于javaweb+jsp實(shí)現(xiàn)企業(yè)車輛管理系統(tǒng)
