Python 序列之列表的操作方法

2021-08-10 08:17:15 字數 3303 閱讀 9751

python為列表提供幾個方法,用於檢查或者修改列表內容。

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

>>> x

[1, 2, 3, 4]

2.count方法,用於統計某個元素在列表中出現的次數

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

>>> x.count(1)

2>>> x.count([1,2])

1>>> x.count(6)

0

3.extend方法,用於在列表末尾一次性追加來乙個序列(是序列不僅僅是列表哦)的多個值

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

>>> y=1,2,3 #y是乙個元組

>>> z='abc' #z是乙個字串

>>> x.extend(y)

>>> x

[1, 2, [1, 2], 1, 1, 2, 3]

>>> x.extend(z)

>>> x

[1, 2, [1, 2], 1, 1, 2, 3, 'a', 'b', 'c']>>>x.extend(['hello'])

>>> x

[1, 2, [1, 2], 1, 1, 2, 3, 'a', 'b', 'c', 'hello']

注意extend方法和列表的連線是不同的,兩個列表x,y做連線並沒有改變x,y本身的值

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

>>> y=list('abc')

>>> y

['a', 'b', 'c']

>>> x+y #序列x,y做了連線,但是沒有改變x,y本身的值

[1, 2, 3, 'a', 'b', 'c']

>>> x

[1, 2, 3]

>>> y

['a', 'b', 'c']

extend方法可以用分片賦值x[len(x):]=y來等價實現,不過在寫**過程中使用extend方法更易讀。

4.index方法,用於從列表找出某個值第一次匹配的索引位置。如果列表中沒有查詢的元素將報錯。

>>> x=list('abc')*3

>>> x

['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

>>> x.index('c')

2>>> x.index('f')

traceback (most recent call last):

file "", line 1, in valueerror: 'f' is not in list

5.insert方法,用於將物件插入到列表中(一次只能插入乙個元素)

>>> x

['a', 'b', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

>>> x.insert(2,'insert')

>>> x

['a', 'b', 'insert', 'c', 'a', 'b', 'c', 'a', 'b', 'c']

>>> x.insert(20,'insert') #插入的下標大於最右邊,則在列表末尾插入元素

>>> x

['a', 'b', 'insert', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'insert']

>>> x.insert(-20,'hahah') #插入的下標先於最左邊,則在列表首位插入元素

>>> x

['hahah', 'a', 'b', 'insert', 'c', 'a', 'b', 'c', 'a', 'b', 'c', 'insert', 222]

insert方法同樣可以用分片賦值x[20:20]=[物件]來實現,不過分片賦值可以實現一次插入多個值

6.pop方法,用於移除列表中某乙個元素(預設移除最後乙個),並且返回該元素的值

>>> x=list('abc')

>>> x

['a', 'b', 'c']

>>> x.pop()

'c'>>> x.pop(1)

'b'>>> x.pop(4) #不在列表範圍,報錯

traceback (most recent call last):

file "", line 1, in indexerror: pop index out of range

>>> x.pop()

'a'>>> x.pop() #列表為空,報錯

traceback (most recent call last):

file "", line 1, in indexerror: pop from empty list

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

問題:只通過以上幾個方法,如何實現棧和佇列?

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

>>> x=list('abc')*2

>>> x

['a', 'b', 'c', 'a', 'b', 'c']

>>> x.remove('b') #只有第乙個b被移除了

>>> x

['a', 'c', 'a', 'b', 'c']

>>> x.remove('f') #remove不存在的元素報錯

traceback (most recent call last):

file "", line 1, in valueerror: list.remove(x): x not in list

8.reserve方法,將列表中元素方向存放

>>> x=list('abcd')

>>> x

['a', 'b', 'c', 'd']

>>> x.reverse()

>>> x

['d', 'c', 'b', 'a']

9.sort方法,對列表元素排序。(強調,該方法是修改的原序列,並且沒有返回值)

>>> x=[7,3,4,6,2,5,1]

>>> x.sort()

>>> x

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

問題:如何把元素由高到低的排序呢?

注:sort方法的引數單獨分享。

python之列表操作

列表操作功能彙總 print 列表操作功能彙總 list demo first second thrid fourth 複製list demo列表取名list list list demo print 原列表為 list print print 輸出列表第乙個元素 list 0 print 輸出列表...

python之列表操作

詳情見語雀 列表 增 extend 列表末尾追加乙個序列 insert 列表插入元素 copy 複製列表 列表 刪 pop 移除列表的乙個元素 預設最後乙個 並返回 remove 移除列表中某值的匹配項 clear 清除列表 列表 查 reverse 反向列表 sort 對原列表排序 list in...

python筆記之列表操作

ls1 print ls1,type ls1 列表中可以出現重複資料 ls2 1,3,2,2,3,1 print ls2 1,3,2,2,3,1 列表中可以出現不同型別的資料 ls3 1,3.14,true,空元組,但只包含乙個元素的元組表示方式 元素,空字典 print ls3 列表通過索引取值 ...