完全に小ネタです。
リストの中で一番多くでてくる項目を出したいとき、
Counter
を使ったりPandas
で数を出して、並べたり、
自分でアルゴリズムを書いたりすると思います。
そんなときに、とりあえず、一番多く出現したものが何かを知りたい時、
デフォルトの統計モジュールstatistics
の最頻値をとるmode
を使うと一瞬でできます。
import statistics test_list = [ '一番多いやつ', '一番多いやつ', '一番多いやつ', '一番多いやつ', '二番目に多いやつ', '二番目に多いやつ', '三番目に多いやつ', ] #実は数値以外にも使える statistics.mode(test_list) #'一番多いやつ' #イテレータっぽければいける statistics.mode("僕はPythonが好きだ!!!") #'!' statistics.mode([('a','b'),('a','b'),('a','c')]) #('a','b')
なお、同数がある場合はエラーを返してしまうので、
collections.Counter(list).most_common
を使うか、
Python3.8以降ならstatistics.multimode
を使うことになります。
▼Counterは結構好きなので、昔書いた記事はこちら