[python]list(數(shù)組)和tuple

一、list
list是一種有序的集合,類(lèi)似數(shù)組。
1、len()
獲取list的長(zhǎng)度

>>>arr = [1,2,3,4]
>>>len(arr)
3

1、獲取元素
索引從0開(kāi)始

>>>arr = [1,2,3,4]
>>>ar[1]
2

索引也可以從-1開(kāi)始,表示從最后一個(gè)元素開(kāi)始取

>>>arr = [1,2,3,4]
>>>arr[-1]
4

切片(Slice),從list截取一部分?jǐn)?shù)據(jù)
list[start,stop,step]
start:(選填),開(kāi)始位置,索引從0開(kāi)始,所以0表示第一個(gè)元素,不填默認(rèn)從0開(kāi)始,為負(fù)數(shù)時(shí)從倒數(shù)開(kāi)始數(shù)
stop:(選填)結(jié)束位置,由于索引是從0開(kāi)始,所以不包括stop,不填默認(rèn)到最后一位
step:(選填)步長(zhǎng),隔幾位取一次
如:l[1:5] => 取第2到第5(索引5其實(shí)是list中的第6個(gè)元素),共4個(gè)元素
stop>list長(zhǎng)度時(shí),截取到list最后一個(gè)元素

>>> l = ['Michael', 'Sarah', 'Tracy']
>>> l[1:3]
['Sarah', 'Tracy']
>>> l[1:5]
['Sarah', 'Tracy']

分別取前10和后10:

>>> L = list(range(100))
>>> L[:10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> L[-10:]
[90, 91, 92, 93, 94, 95, 96, 97, 98, 99]

前10個(gè)數(shù),每?jī)蓚€(gè)取一個(gè):

>>> L[:10:2]
[0, 2, 4, 6, 8]

所有數(shù),每5個(gè)取一個(gè):

>>> L[::5]
[0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95]

什么都不寫(xiě),只寫(xiě)[:]相當(dāng)于原樣復(fù)制一個(gè)list:

>>> L[:]
[0, 1, 2, 3, ..., 99]

*字符串也可以切片

>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[::2]
'ACEG'

4、insert()
把元素插入到指定的位置,比如索引號(hào)為1的位置:

>>>arr = [1,2,3,4]
>>>arr.insert(1,5)
>>>arr 
[1,5,2,3,4]

5、append()
追加元素到末尾

>>>arr = [1,2,3,4]
>>>arr.append(5)
>>>arr 
[1,2,3,4,5]

6、pop(i)
刪除指定位置的元素

>>>arr = [1,2,3,4]
>>>arr.pop(1)
2
>>>arr 
[1,3,4]

i為空時(shí),刪除最后一個(gè)元素

>>>arr = [1,2,3,4]
>>>arr.pop()
4
>>>arr 
[1,2,3]

6、替換元素,直接膚質(zhì)

>>>arr = [1,2,3,4]
>>>arr[2] = 5
>>>arr 
[1,2,5,4]

二、tuple
元組。類(lèi)似list,一旦定義,不可修改。因此不存在append、pop這些方法

>>>t= (1,2,3,4)
>>>t[1] 
2

當(dāng)初始化tuple時(shí),長(zhǎng)度為1時(shí),必須要‘,’,因?yàn)槔ㄌ?hào)()既可以表示tuple,又可以表示數(shù)學(xué)公式中的小括號(hào),產(chǎn)生歧義

>>> t2=(1,)
>>> t2
(1,)
>>> t2[0]
1
>>> t3 = (1)
>>> t3
1
>>> t3[0]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'int' object is not subscriptable

**'可變的'的 tuple

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])

tuple所謂的“不變”是說(shuō),tuple的每個(gè)元素,指向永遠(yuǎn)不變。即指向'a',就不能改成指向'b',指向一個(gè)list,就不能改成指向其他對(duì)象,但指向的這個(gè)list本身是可變的!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Python創(chuàng)建List Python創(chuàng)建list Python內(nèi)置的一種數(shù)據(jù)類(lèi)型是列表:list。list是一種...
    極客小寨閱讀 571評(píng)論 0 0
  • Python最常用的兩種集合類(lèi)型:list和tuple,我們可以用list和tuple來(lái)表示有序集合。 1.Pyt...
    ChinaGoodStaff閱讀 1,121評(píng)論 0 3
  • 1999年,我的印象還深刻嗎? 倒轉(zhuǎn)去20年。 依稀記得,是走在人生的拐角。去南方還是去北方。 那一年,是命運(yùn)的另...
    塵一然閱讀 205評(píng)論 0 1
  • 人心難測(cè),面具下不知幾許虛偽,時(shí)間總是會(huì)抹掉虛偽看清一個(gè)人真面目,有時(shí)候,你以為交了一個(gè)真正朋友,然而,并不是,居...
    宋安之閱讀 159評(píng)論 0 0
  • 我發(fā)現(xiàn)我的時(shí)間都被碎片化了,沒(méi)有時(shí)間專(zhuān)注地完成自己的工作,時(shí)間被大量的信息沖的支離破碎。 剛想靜下心來(lái)排課,微信里...
    洮南遠(yuǎn)方文學(xué)閱讀 614評(píng)論 0 1

友情鏈接更多精彩內(nèi)容