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 + ’tt’, 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)注好吧啦網(wǎng)其它相關(guān)文章!
相關(guān)文章:
1. 詳解瀏覽器的緩存機(jī)制2. CSS3實例分享之多重背景的實現(xiàn)(Multiple backgrounds)3. ASP基礎(chǔ)知識VBScript基本元素講解4. UDDI FAQs5. XML入門的常見問題(四)6. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)7. XML解析錯誤:未組織好 的解決辦法8. asp(vbscript)中自定義函數(shù)的默認(rèn)參數(shù)實現(xiàn)代碼9. 利用CSS3新特性創(chuàng)建透明邊框三角10. 使用Spry輕松將XML數(shù)據(jù)顯示到HTML頁的方法
