首頁  >  文章  >  後端開發  >  Python清單如何統計元素的出現頻率? (程式碼範例)

Python清單如何統計元素的出現頻率? (程式碼範例)

青灯夜游
青灯夜游原創
2019-03-19 13:44:235706瀏覽

有時我們需要在清單中尋找、統計清單中特定元素出現的數量(頻率),那麼如何去統計?以下這篇文章就來帶大家了解一下在Python中統計列表元素出現頻率的方法,希望對大家有幫助。

Python清單如何統計元素的出現頻率? (程式碼範例)

方法一:使用Counter() set() 列表推導(List Comprehension)

我們可以使用Counter() set() 列表推導(List Comprehension)的組合來統計元素的出現頻率。 Counter()函數執行分組,set()函數提取不同的元素作為dict的鍵,並對其出現的列表進行列表理解檢查。

範例:

# 列出元素的频率
from collections import Counter 
  
# 正在初始化列表
test_list = [[3, 5, 4], 
             [6, 2, 4], 
             [1, 3, 6]] 
  
# 输出原始列表
print("原始列表: " + str(test_list)) 
  
# 使用 Counter() + set() + list comprehension来列出元素的频率
res = dict(Counter(i for sub in test_list for i in set(sub))) 
  
# 输出结果
print("列表中元素的出现频率为:" + str(res))

輸出:

Python清單如何統計元素的出現頻率? (程式碼範例)

#方法二:使用Counter() itertools.chain.from_iterable () map() set()

set()函數提取由Counter()形成的字典鍵,map()函數為所有子列表執行任務,from_iterable()函數使用比列表推導(List Comprehension)更快的迭代器執行任務。

範例:

# 列出元素的频率
from collections import Counter 
from itertools import chain 
  
# 正在初始化列表
test_list = [[2, 3, 4], 
             [6, 2, 3], 
             [1, 4, 6]] 
  
# 输出原始列表
print("原始列表: " + str(test_list)) 
  
#使用 Counter() + itertools.chain.from_iterable() + map() + set() 列出元素的频率
res = dict(Counter(chain.from_iterable(map(set, test_list)))) 
  
#  输出结果
print("列表中元素的出现频率为:" + str(res))

輸出:

Python清單如何統計元素的出現頻率? (程式碼範例)

#相關影片教學推薦:《Python教學

以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是Python清單如何統計元素的出現頻率? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn