ホームページ >バックエンド開発 >Python チュートリアル >Python リスト内の要素の頻度をカウントするにはどうすればよいですか? (コード例)

Python リスト内の要素の頻度をカウントするにはどうすればよいですか? (コード例)

青灯夜游
青灯夜游オリジナル
2019-03-19 13:44:235806ブラウズ

リスト内の特定の要素の数 (頻度) を検索してカウントする必要がある場合がありますが、どのようにカウントすればよいでしょうか? Pythonでリスト要素の頻度をカウントする方法については以下の記事で紹介していますので、ご参考になれば幸いです。

Python リスト内の要素の頻度をカウントするにはどうすればよいですか? (コード例)

方法 1: Counter() set() リスト内包表記を使用する

私たちは、 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 リスト内の要素の頻度をカウントするにはどうすればよいですか? (コード例)

#方法 2: Counter() を使用する itertools.chain.from_iterable ( ) map() set()

set() 関数は Counter() によって形成された辞書キーを抽出し、map() 関数はすべてのサブリストのタスクを実行し、from_iterable() 関数はイテレータを使用しますリスト内包表記よりも速くタスクを実行します。

例:

# 列出元素的频率
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 中国語 Web サイトの関連チュートリアルのコラムに注目してください。 ! !

以上がPython リスト内の要素の頻度をカウントするにはどうすればよいですか? (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。