sequence 序列
sequence(序列)是一組有順序的對(duì)象的集合。序列可以包含一個(gè)或多個(gè)元素,也可以沒(méi)有任何元素。
我們之前所說(shuō)的基本數(shù)據(jù)類(lèi)型,都可以作為序列的對(duì)象。對(duì)象還可以是另一個(gè)序列。序列有兩種:list (表) 和 tuple(元組) 。
list和tuple的主要區(qū)別在于,一旦建立,tuple的各個(gè)元素不可再變更,而list的各個(gè)元素可以再變更。
List
獲得list元素的個(gè)數(shù):
>>> lst=['更新慢','python',5.44,False]
>>> len(lst)
4
引用訪(fǎng)問(wèn)時(shí)索引是從0開(kāi)始,注意不要越界:
>>> lst[0]
'更新慢'
>>> lst[1]
'python'
>>> lst[2]
5.44
>>> lst[3]
False
>>> lst[4]
Traceback (most recent call last):
? File "
??? lst[4]
IndexError: list index out of range
用-1做索引,直接獲取最后一個(gè)元素:
>>> lst[-1]
False
>>> lst[-2]
5.44
>>> lst[-3]
'python'
>>> lst[-4]
'更新慢'
>>> lst[-5]
Traceback (most recent call last):
? File "
??? lst[-5]
IndexError: list index out of range
因?yàn)閘ist是一個(gè)可變的有序表,所以,可以往list末尾追加元素:
>>> lst.append('加我一個(gè)')
>>> lst
['更新慢', 'python', 5.44, False, '加我一個(gè)']
一次追加多個(gè)元素:
>>> lst.extend(['A','B','C'])
>>> lst
['更新慢', 'python', 5.44, False, '加我一個(gè)', 'A', 'B', 'C']
要?jiǎng)h除list末尾的元素,用pop()方法:
>>> lst.pop()
'C'
>>> lst
['更新慢', 'python', 5.44, False, '加我一個(gè)', 'A', 'B']
刪除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> lst.pop(0)
'更新慢'
>>> lst
['python', 5.44, False, '加我一個(gè)', 'A']
list元素替換,可以直接賦值給對(duì)應(yīng)的索引位置:
>>> lst[-1]='100'
>>> lst
['python', 5.44, False, '加我一個(gè)', '100']
list元素也可以是另一個(gè)list,插入的那個(gè)list只算一個(gè)元素:
>>> lst.append(lst1)
>>> lst
['python', 5.44, False, '加我一個(gè)', '100', ['666', 'QWER']]
>>> len(lst)
6
Tuple
Tuple一旦初始化就不能修改。字符串是一種特殊的元素,因此可以執(zhí)行元組的相關(guān)操作。
>>> str='該睡覺(jué)了,晚安!'
>>> print (str[:7])
該睡覺(jué)了,晚安
不可變的tuple意義就在于因?yàn)椴豢勺儯源a更安全。如果可能,能用tuple就盡量用tuple。
>>> tuple=('1','2','3')
>>> tuple[0]=6
Traceback (most recent call last):
? File "
??? tuple[0]=6
TypeError: 'tuple' object does not support item assignment
定義一個(gè)空tuple:
>>> tuple1=()
>>> tuple1
()
注意,要定義一個(gè)只有1個(gè)元素的tuple:
>>> tuple2=(666,)
>>> tuple2
(666,)????????????? #正確的
>>> tuple3=(666)
>>> tuple3
666???????????????? #錯(cuò)誤的,只定義了666這個(gè)數(shù)
注意:Tuple所謂的“不變”是說(shuō),tuple的每個(gè)元素,指向永遠(yuǎn)不變。
>>> l=['CCTV-5','HI']
>>> tuple4=('UFO','HACK',l)
>>> tuple4
('UFO', 'HACK', ['CCTV-5', 'HI'])
>>> l[1]='我先變一下'
>>> tuple4
('UFO', 'HACK', ['CCTV-5', '我先變一下'])
所以盡量避免這種套用。
當(dāng)日小結(jié)
掌握List和Tuple的常用方法以及注意事項(xiàng)。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
