python列表方法

2021-08-08 10:26:16 字數 3892 閱讀 9899

x = [1

,2,3]

(4)print x

輸出:

[1, 2, 3, 4]
count方法統計某個元素在列表中出現的次數:

>>> ['to','br','or','to','be'].count('to')

2>>> x =[[1,2],2,2,[2,1,[1,2]]]

>>> x.count(1)

0>>> x.count(2)

2>>>

extend方法可以在列表的末尾一次性追加另乙個序列中的多個值。換句話說,可以用新列表擴充套件原有的列表:

x =[1,2,3]

y =[4,5,6]

x.extend(y)

print x

輸出:

[1, 2, 3, 4, 5, 6]
這個操作看起來很像連線操作,兩者最主要的區別在於:extend方法修改了被擴充套件的序列(在這個例子中,就是x).而原始的連線操作則不然,它會返回乙個全新的列表:

x = [1,2,3]

y = [4,5,6]

print x+y

print x

輸出:

[1, 2, 3, 4, 5, 6]

[1, 2, 3]

你可以看到被連線的列表與之前例子中被擴充套件的列表是一樣的,但是這次它並沒有被修改。這是因為原始的連線操作建立了乙個包含了x和y副本的新列表。如果需要如下例所示的操作,那麼連線操作的效率會比extend方法低。

x =x+y
同樣,這裡也不是乙個原位置操作,它並不會修改原來的列表。我們可以使用分片賦值來實現心疼的結果:

x =[1,2,3]

y =[4,5,6]

x[len(x):]=y

print x

輸出:

[1, 2, 3, 4, 5, 6, 4, 5, 6]
雖然這麼做可行,但是可讀性就沒有extend好了。

index方法用於從列表中找出某個值第乙個匹配項的索引位置:

knight = ['we','are','the','python','who','say']

a = knight.index('who')

print a

輸出:

4
當搜尋但是who的時候,就會發現它在索引號為4的位置:

print knight[4]
輸出:

who
insert方法用於將物件插入到列表中:

number = [1,2,3,4,5]

number.insert(3,'four')

print number

輸出:

[1, 2, 3, 'four', 4, 5]
與extend方法一樣,insert方法的操作也可以用分片賦值來實現。

number = [1,2,3,4,5]

number[3:3]=['four']

print number

輸出:

[1, 2, 3, 'four', 4, 5]
pop方法會移除列表中的乙個元素(預設是最後乙個),並且返回該元素的值:

x = [1,2,3]

print

x.pop()

print

xprint

x.pop(0)

print

x

輸出:

3

[1, 2]

1[2]

:pop方法是唯一乙個既能修改列表又返回元素值(除了none)的列表方法。

remove方法用於移除列表中某個值的第乙個匹配項:

x = ['to','be','or','not','to','be']

x.remove('be')

print x

輸出:

['to', 'or', 'not', 'to', 'be']
可以看到:只有第一次出現的值被移除了,而不存在於列表中的值是不會移除的。

但值得注意的是,remove是乙個沒有返回值的原位置改變的方法。它修改了列表卻沒有返回值,這與pop方法相反。

reverse方法將列表中的元素反向存放。

y = [1,2,3]

y.reverse()

print

y

輸出:

[3, 2, 1]
注意:該方法也改變了列表但不返回值(就像remove和sort)

sort方法用於在原位置對列表進行排序。在「原位置排序」意味著改變原來的列表,從而讓其重點額元素能按照一定的順序排列,而不是簡單地返回乙個已排序的列表副本。

a = [4,3,5,6,78,1]

a.sort()

print a

輸出:

[1, 3, 4, 5, 6, 78]
a = [4,3,5,6,78,1]

b = a.sort()

print b

輸出:

none
因為sort方法修改了a卻返回了空值,那麼最後得到的是已排序的a以及值為none的b。實現這個功能的正確方法是,首先把a的副本賦值給b,然後對y進行排序,如下例所示:

a = [4,3,5,6,78,1]

b = a[:]

b.sort()

print a

print b

輸出:

[4, 3, 5, 6, 78, 1]

[1, 3, 4, 5, 6, 78]

再次呼叫a[:]得到的是包含了x所有元素的分片,這是一種很有效率的複製整個列表的方法,只是簡單地把a賦值給b是沒用的,因為這樣做就讓a和b都指向同乙個列表了。

a = [4,3,5,6,78,1]

b = a

b.sort()

print a

print b

輸出:

[1, 3, 4, 5, 6, 78]

[1, 3, 4, 5, 6, 78]

另一種獲取已排序的列表副本的方法是,使用sorted函式:

a = [4,3,5,6,78,1]

b = sorted(a)

print a

print b

輸出:

[4, 3, 5, 6, 78, 1]

[1, 3, 4, 5, 6, 78]

這個函式實際上可以用任何序列,卻總是返回乙個列表:

>>> sorted('python')

['h', 'n', 'o', 'p', 't', 'y']

>>>

如果想把一些元素按相反的順序排列,可以先使用sort(或sorted),然後再呼叫reverse方法,或者也可以使用reverse引數。

Python 列表方法

count index reverse pop end 作用 在列表list末端新增乙個新的元素object返回值 無 其他 原列表發生改變 a 1,2,3 a 1,2,3,new list.count value l.count value integer return number of occ...

python 列表方法

1.在列表後面追加元素 user while true name input 輸入名字 在列表後面追加元素 print user 2.在列表中插入元素 user 張三 李四 王霧 在 1 位置的前面插入 wdc 在指定索引位置插入元素 user.insert 1,wdc print user 3.在...

Python方法集 列表方法

以下列舉了python中關於列表 list 的全部方法 關於特殊方法,將會在 特殊方法與函式 中介紹 用途 在列表末尾新增元素obj。新增過程中,是對原列表進行增加,而非生成新列表。示例 a 1,2,3,4 none a 1,2,3,4,5 用途 統計某元素在列表 現的次數 示例 b 1,2,3,4...