Python 之列表的常用方法
前言
方法是與對(duì)象(列表、數(shù)、字符串等)聯(lián)系緊密的函數(shù),調(diào)用方式為 object.method(arg),方法調(diào)用和函數(shù)調(diào)用很像。這里主要列舉列表中常用的幾個(gè)方法。
1.append
append 用于將一個(gè)對(duì)象附加到列表末尾。
需要注意的是,append 只是修改原列表,不會(huì)返回修改過(guò)后的新列表。
2.clear
clear 用于清空列表的內(nèi)容。
>>> a = [1,2,3,4] >>> a.clear() >>> a []這類(lèi)似于切片中賦值語(yǔ)句a[:] = []
3.copy
copy 用于復(fù)制列表。
常規(guī)的復(fù)制只是將一個(gè)名稱(chēng)關(guān)聯(lián)到另一個(gè)列表,如下:
這里修改了 b 列表的值,a 列表也跟著變了,這種復(fù)制方式只是相當(dāng)于給同一個(gè)列表重新命名而已,如果要讓a 和 b 指向不同的列表,就需要將 b 關(guān)聯(lián)到 a 的副本。如下:
>>> a = [1,2,3] >>> b = a.copy() >>> b[1] = 6 >>> a [1, 2, 3]這類(lèi)似于使用 a[:]或者 list(a),這兩個(gè)也是復(fù)制 a
4.count
count 用于計(jì)算指定的元素在列表中出現(xiàn)的次數(shù)。
如下示例:
5.extend
extend能夠?qū)⒍鄠€(gè)值附加到列表末尾,如下示例:
>>> a = [1,2,3] >>> b = [4,5,6] >>> a.extend(b) >>> a [1, 2, 3, 4, 5, 6]這個(gè)方法類(lèi)似于拼接,注意這里沒(méi)有返回值,并且 extend 會(huì)直接修改被擴(kuò)展的序列,比如這里的 a,這和常規(guī)的拼接(直接用“+”號(hào)連接起來(lái))有點(diǎn)不同, 常規(guī)拼接是返回一個(gè)新的列表,而原有列表并沒(méi)有變化,如下示例:
>>> a = [1,2,3] >>> b = [4,5,6] >>> a + b [1, 2, 3, 4, 5, 6] >>> a [1, 2, 3]所以 extend 方法和常規(guī)拼接有不同之處。如果直接將常規(guī)拼接賦值給a,如下:
a = a + b
這樣拼接的效率會(huì)比 extend 低。
還可以通過(guò)切片賦值的方式來(lái)實(shí)現(xiàn)同樣的效果,如下:
雖然效果是一樣的,但是這樣寫(xiě)的代碼可讀性會(huì)比較差。
6.index
index 的作用是在列表中查找指定值第一次出現(xiàn)的索引:
>>> a = [1,1,2,3,4,3] >>> a.index(3) 3注意,這里一定是只返回查找值第一次出現(xiàn)的索引,順序從左到右。如果列表中不存在該值,將會(huì)引發(fā)異常。
7. insert
insert 方法是用于將一個(gè)對(duì)象插入列表中。
>>> a = [1,2,3,4] >>> a.insert(1,7) >>> a [1, 7, 2, 3, 4]8.pop
方法 pop 是從列表中刪除列表中最后一個(gè)元素,并將其返回。
>>> a = [1,2,3,4] >>> a.pop() 4 >>> a.pop() 3 >>> a [1, 2]pop 是唯一既可以修改列表又返回一個(gè)非 None 值的列表方法
9.remove
方法 remove 用于刪除第一個(gè)為指定值的元素。
>>> a = [1,2,3,4,5,2,3,2] >>> a.remove(2) >>> a [1, 3, 4, 5, 2, 3, 2]注意,這里只刪除第一個(gè)指定值,從左到右順序。remove 是就地修改但不返回值的方法之一。
10.reverse
reverse 按相反的順序排列列表中的元素。
>>> a = [1,2,3,4] >>> a.reverse() >>> a [4, 3, 2, 1]注意,reverse 也是就地修改列表,但是不返回任何值。
11.sort
sort 用于對(duì)列表就地排序。就地排序就是說(shuō)對(duì)原來(lái)的列表進(jìn)行修改,使其元素按順序排列,而不是返回排序后的列表的副本。
>>> a = [4,5,6,1,2] >>> a.sort() >>> a [1, 2, 4, 5, 6]如果僅僅需要排序后的列表副本 并且要保留原有的列表不變時(shí),可以先將原有列表復(fù)制一份,然后再進(jìn)行排序,如下:
>>> a = [4,5,6,1,2] >>> b = a.copy() >>> b.sort() >>> a [4, 5, 6, 1, 2] >>> b [1, 2, 4, 5, 6]這里不能用簡(jiǎn)單的賦值,如果賦值那么 a 和b 就指向同一個(gè)列表。
為獲取排序后列表的副本,另一種方式是使用函數(shù) sorted
12.高級(jí)排序
方法 sort 有接受兩個(gè)可選參數(shù) key 和 reverse。這兩個(gè)參數(shù)通常是按名稱(chēng)來(lái)指定的,稱(chēng)為關(guān)鍵字參數(shù)。key 就是指定需要按照什么屬性來(lái)進(jìn)行排序,而 rerverse 是指定是否要按照相反順序來(lái)進(jìn)行排序。
如下,按照長(zhǎng)度來(lái)進(jìn)行排序:
sorted 也接受key 和 reverse 兩個(gè)參數(shù),在很多情況下,將參數(shù) key 設(shè)置成一個(gè)自定義函數(shù)將會(huì)很有用。
總結(jié)
以上是生活随笔為你收集整理的Python 之列表的常用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Qt for Python 信号和槽的使
- 下一篇: Python 之字符串常用方法