python 元組的使用方法
元組——tuple
列表非常適合用于存儲在程序運行期間可能變化的數(shù)據(jù)集。
列表是可以修改的,但元組是不可修改的
Python將不能修改的值稱為不可變的,而不可變的列表被稱為元組
1. 元組的創(chuàng)建和刪除
(1)使用賦值運算符直接創(chuàng)建元組
語法:
tuplename = (element1, element2, element3, ....)
在Python中,元組使用一對小括號將所有的元素括起來,但是小括號不是必須的,只要將一組值用逗號分隔開,Python就可以使其為元組。
verse = "漁舟唱晚", "高山流水", "出水蓮", "漢宮秋月" # 元組
如果要創(chuàng)建的元組中只有一個元素,需要在元素的后面加上逗號,否則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語句在實際開發(fā)中,并不常用,因為Python自帶的垃圾回收機(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ù)用于將一個可遍歷的數(shù)據(jù)對象(如列表、元組)組合為一個索引序列,同時列出數(shù)據(jù)和數(shù)據(jù)下標(biāo),一般在for循環(huán)中使用。
team = ('火箭', '勇士', '開拓者', '雷霆', '爵士', '馬刺') for index, item in enumerate(team): if index % 2 == 0: print(item + '\t\t', end='') else: print(item)
輸出
火箭 勇士
開拓者 雷霆
爵士 馬刺
3. 修改元組的元素
元組是不可變序列,所以我們不能對它的單個元素值進(jìn)行修改。通過對元組進(jìn)行重新賦值進(jìn)行修改。
元組和元組是可以進(jìn)行連接的,但連接的兩者必須都是元組才行,否則是錯誤的,要連接的元組只有一個元素時,一定不要忘記后面的逗號。
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é)果并不是一個元組或列表,而是一個生成器對象,這一點和列表推導(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)) ()
從上面的兩個示例中可以看出:無論通過那種方法遍歷,如果想要再次使用該生成器對象,必須重新創(chuàng)建一個生成器對象,因為遍歷后該生成器對象就不存在了。
5. 元組與列表的區(qū)別
(1)列表可變,元組不可變,除非整體替換。
(2)列表可以用append()、extend()、insert()、remove()、pop()實現(xiàn)添加和刪除功能,而元組沒有這幾個方法。
(3)列表支持通過切邊進(jìn)行修改和訪問,而元組只支持訪問,不支持修改,再不進(jìn)行任何修改時,建議使用元組。
(4)元組比列表的訪問和處理速度快。
(5)列表不能作為字典的鍵,而元組可以。
以上就是python 元組的使用方法的詳細(xì)內(nèi)容,更多關(guān)于python元組使用的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Pandas中map(),applymap(),apply()函數(shù)的使用方法
本文主要介紹了Pandas中map(),applymap(),apply()函數(shù)的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python學(xué)習(xí)筆記之圖片人臉檢測識別實例教程
這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)筆記之圖片人臉檢測識別的相關(guān)資料,文中通過示例代碼以及圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03利用Python實時獲取steam特惠游戲數(shù)據(jù)
Steam是由美國電子游戲商Valve于2003年9月12日推出的數(shù)字發(fā)行平臺,被認(rèn)為是計算機(jī)游戲界最大的數(shù)碼發(fā)行平臺之一。本文將利用Python實時獲取steam特惠游戲數(shù)據(jù),感興趣的可以嘗試一下2022-06-06Python環(huán)境Pillow( PIL )圖像處理工具使用解析
這篇文章主要介紹了Python環(huán)境Pillow( PIL )圖像處理工具使用解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-09-09