列表list經常使用方法

一、len:計算列表的長度python

numb = ['中國',1,2,[3,4],(5,6)]shell

len(numb) # 返回5 len函數只計算最外面一層列表的元素數,對於內嵌的元素不能計算,若是有須要能夠本身定義函數計算app

二、count:查看列表中某個元素出現的次數並返回函數

numb = ['中國',1,2,[3,4],(5,6)]spa

numb.count("中國")# 返回1,元素「中國」在numb列表中出現了一次排序

三、index: 查看某元素第一次出如今列表中的位置內存

num = [1,1,2]rem

num.index(1)# 返回0,index只返回了第一個1出如今列表中的位置string

四、in 檢查元素成員資格it

num = [1,'1',2]

1 in num #返回True,若是元素存在列表中,則返回true,不在則返回false,是一個布爾函數,tuple和string一樣適用

五、append :在列表末尾添加元素,改變了原列表

>>>numb=['3', 'c', 5, '美', '中', 3, 1]
>>> numb.append([1,2,3])
>>> numb
['3', 'c', 5, '美', '中', 3, 1, [1, 2, 3]]

六、extend():這個函數是鏈接兩個列表成一個列表,沒有返回值,也會改變原列表;+也能夠鏈接兩個列表可是不會改變原表,鏈接後的新列表須要賦值給一個新的變量

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

>>>c = ['a','b',(1,1)]

>>>a.extend(c)

>>> a
[1, 2, 3, 'a', 'b', (1, 1)]

七、insert (index,item):在列表中index位置插入item,index爲要插入的下標位置,item是插入的內容,改變原表,沒有返回值

>>> numb
[1, 3, '中', '美', 5, 'c', '3']
>>> numb.insert(2,3)
>>> numb
[1, 3, 3, '中', '美', 5, 'c', '3']

八、pop(index):刪除列表中的某個元素(index參數爲下標值,從0開始),並將該元素返回,默認刪除最後一個元素並返回最後一個元素,這個函數會改變原函數

>>>numb=['3', 'c', 5, '美', '中', 3, 1]

>>> numb.pop()

[1, 2, 3]

>>> numb
['3', 'c', 5, '美', '中', 3, 1]

#刪除列表第一個元素

>>> numb.pop(0)
'3'

>>> numb
['c', 5, '美', '中', 3, 1]

九、remove(item):移除列表中第一個出現的item,不返回值,改變原表

>>> c = ['a', 'b', (1, 1),'a']
>>> c.remove('a')
>>> c
['b', (1, 1), 'a']

十、reverse(),反向輸入列表,改變原表,沒有返回值

>>> c=['b', (1, 1), 'a']
>>> c.reverse()
>>> c
['a', (1, 1), 'b']

十一、sort(key,reverse):對列表進行排序,默認對同類型數據升序排列,key默認none,reverse默認false,也能夠指定key值和reverse值進行排序,會改變原表,沒有返回值

>>> cc = ['a','c','b']
>>> cc.sort()
>>> cc
['a', 'b', 'c']

#不一樣類型的元素進行排序會報錯

>>> c=['a', (1, 1), 'b']

>>> cc.sort()

Traceback (most recent call last):
File "<pyshell#85>", line 1, in <module>
c.sort()
TypeError: '<' not supported between instances of 'tuple' and 'str'

 

# key值排序,sort對同類型數據排序,這裏面len計算每一個item的長度,根據長度len排序,len返回int型數據,也是同類型的排序

>>> c=['a', (1, 1), 'b']

>>> c.sort(key=len)
>>> c
['a', 'b', (1, 1)]

>>> c.sort(key = len, reverse=True)# reverse=true,是指要反向排序
>>> c
[(1, 1), 'a', 'b']

十二、sorted(list)默認對列表進行升序排列,key,reverse一樣適用sorted,sorted返回列表,不會改變原表

>>> list1 = ['a','f','e']
>>> sorted(list1)
['a', 'e', 'f']

>>> list1
['a', 'f', 'e']

#####想排序原表的副本,又不改變原表的話用sorted()函數最好,也能夠用分片法[:]複製原表,再排序

a

b=a[:]

b.sort()

可是沒有sorted()適用方便

注意:b=a,並非複製了a,只用a,b同時指向了一個內存地址,若是用b=a,b.sort(),也是會改變內存地址裏的內容。

1三、切片改變列表,改變了原列表

##替換列表裏的值

>>> numb=[2, 2, 3, 4, 5, 6, 7]
>>> numb[1:]=list('python')#從下標1到最後的元素都被list(‘python’)替換

>>> numb
[2, 'p', 'y', 't', 'h', 'o', 'n']

## 插入列表元素

>>> numb[1:1]=list('123')
>>> numb
[2, '1', '2', '3', 'p', 'y', 't', 'h', 'o', 'n']

##刪除列表元素(就是用空列表[]替換列表裏的元素)

>>> numb[4:]=list('')#也能夠寫成[]
>>> numb
[2, '1', '2', '3']

##負值切片替換
>>> numb2=['1', '2', '3']
>>> numb2[-3:-1]=[1,2,3,4,5,6]
>>> numb2
[1, 2, 3, 4, 5, 6, '3']

###step爲負值,切片替換

>>> numb=[1, 'a', 3, 'b', 5, 'c', '3']

>>> numb[-4:-7:-2]=list('中國')###切片取出的個數要與替換的元素個數一致,不然報錯,step爲負值時,右邊的元素要比左邊的元素先出現>>> numb[1, '國', 3, '中', 5, 'c', '3']

相關文章
相關標籤/搜索