Python list 和 tuple 使用小记
list和tuple是Python內(nèi)置的有序集合,一個(gè)可變,一個(gè)不可變。根據(jù)需要來選擇使用它們。
1.內(nèi)置數(shù)據(jù)類型,列表List
>>> appleVersion = ['apple1','apple2','apple3'] >>> appleVersion ['apple1', 'apple2', 'apple3']>>> len(appleVersion) 3>>> appleVersion[0] 'apple1'>>> appleVersion[1] 'apple2'>>> appleVersion[2] 'apple3'>>> appleVersion[3] Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: list index out of rang?
倒序打印
>>> appleVersion[-1] 'apple3'>>> appleVersion[-2] 'apple2'>>> appleVersion[-3] 'apple1'>>> appleVersion[-4] Traceback (most recent call last):File "<stdin>", line 1, in <module> IndexError: list index out of range
新增
>>> appleVersion.append('orange') >>> appleVersion ['apple1', 'apple2', 'apple3', 'orange']
插入
刪除末尾/刪除索引i
賦值替換
List嵌套
2. tuple和list非常類似,但是tuple一旦初始化就不能修改,不可變的tuple有什么意義?因?yàn)閠uple不可變,所以代碼更安全。如果可能,能用tuple代替list就盡量用tuple。
tuple的陷阱:
當(dāng)你定義一個(gè)tuple時(shí),在定義的時(shí)候,tuple的元素就必須被確定下來
>>> lemon=('lemon1','lemon2','lemon3') >>> lemon ('lemon1', 'lemon2', 'lemon3')>>> lemon1=() >>> lemon1 () 數(shù)字1 >>> lemon2=(1) >>> lemon2 1 一個(gè)原素 >>> lemon3=(1,) >>> lemon3 (1,)>>> lemon4=('a','b',['A','B']) >>> lemon4[2][0]='X' >>> lemon4[2][1]='Y' >>> lemon4 ('a', 'b', ['X', 'Y'])
表面上看,tuple的元素確實(shí)變了,但其實(shí)變的不是tuple的元素,而是list的元素。
tuple一開始指向的list并沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個(gè)元素,指向永遠(yuǎn)不變。即指向'a',就不能改成指向'b',指向一個(gè)list,就不能改成指向其他對象,但指向的這個(gè)list本身是可變的!
理解了“指向不變”后,要創(chuàng)建一個(gè)內(nèi)容也不變的tuple,那就必須保證tuple的每一個(gè)元素本身也不能變
轉(zhuǎn)載于:https://www.cnblogs.com/AryaZ/p/6505350.html
總結(jié)
以上是生活随笔為你收集整理的Python list 和 tuple 使用小记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [TPYBoard - Micropyt
- 下一篇: Python 简单入门学习笔记