|
寫 Python 代碼,列表的出鏡率是相當(dāng)高的,伴隨列表一起出現(xiàn)的往往就是一大堆 for 循環(huán),這樣的代碼多了看起來非常不簡(jiǎn)潔。作為一名 Python 程序員,怎么能忍受呢? 那有沒有什么好辦法呢?除了列表表達(dá)式之外,其實(shí)還有一些小技巧來操作列表,可以使代碼更簡(jiǎn)潔,更優(yōu)雅。下面介紹幾個(gè)常見的使用場(chǎng)景,分享給大家。 一、列表合并第一種方式:循環(huán)。 >>> a = [1, 2, 3]>>> b = [4, 5, 6]>>> for i in b:... a.append(i)...>>> a[1, 2, 3, 4, 5, 6]這種方式最不友好了,也不建議使用。 第二種方式:使用 +。 第三種方式:使用 extend 關(guān)鍵字。 >>> a.extend(b)>>> a[1, 2, 3, 4, 5, 6]后兩種方式明顯更加優(yōu)雅,推薦使用。需要說明的一點(diǎn)是,如果列表很大的話,+ 會(huì)比較慢,使用 extend 更好。 二、列表元素去重使用 set() 對(duì)列表元素進(jìn)行去重。 三、列表排序使用 sort() 或內(nèi)建函數(shù) sorted() 對(duì)列表進(jìn)行排序。它們之間的區(qū)別有兩點(diǎn):
# sort()>>> a = [1, 2, 3, 4, 2, 3]>>> a.sort()>>> a[1, 2, 2, 3, 3, 4]>>>>>> a = [1, 2, 3, 4, 2, 3]>>> a.sort(reverse=True)>>> a[4, 3, 3, 2, 2, 1]# sorted()>>> a = [1, 2, 3, 4, 2, 3]>>> sorted(a)[1, 2, 2, 3, 3, 4]>>> a = [1, 2, 3, 4, 2, 3]>>> sorted(a, reverse=True)[4, 3, 3, 2, 2, 1]四、遍歷列表的索引和元素對(duì)使用 enumerate() 函數(shù)可以同時(shí)輸出索引和元素值。 五、查找列表中出現(xiàn)最頻繁的元素使用 max() 函數(shù)可以快速查找出一個(gè)列表中出現(xiàn)頻率最高的某個(gè)元素。 >>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2]>>> b = max(set(a), key=a.count)>>> b4需要說明的一點(diǎn)是,當(dāng)列表中有兩個(gè)元素出現(xiàn)的次數(shù)相同時(shí),會(huì)返回第一個(gè)出現(xiàn)的元素。 六、統(tǒng)計(jì)列表中所有元素的出現(xiàn)次數(shù)前面的代碼給出了出現(xiàn)最頻繁的值。如果想要知道列表中所有元素的出現(xiàn)次數(shù),那么可以使用 collections 模塊。collections 是 Python 中的一個(gè)寶藏模塊,它提供了很多特性。Counter 方法正好可以完美解決這個(gè)需求。 >>> from collections import Counter>>>>>> a = [1, 2, 3, 4, 3, 4, 5, 4, 4, 2]>>> Counter(a)Counter({4: 4, 2: 2, 3: 2, 1: 1, 5: 1})七、將兩個(gè)列表合并為詞典使用 zip() 函數(shù),可以將兩個(gè)列表合并成字典。 以上。 |
|
|