1. 程式人生 > >python 對給定可迭代集合統計出現頻率,並排序

python 對給定可迭代集合統計出現頻率,並排序

給定一個可迭代sequence,對其中的值進行出現次數統計:

方法1:

def get_counts(sequence):
    counts = {}
    for x in sequence:
        if x in counts:
            counts[x] += 1
        else:
            counts[x] = 1
    return counts

方法2:
利用python中內建的collections

from collections import defaultdict

def get_counts2(sequence)
:
counts = defaultdict(int) #所有的值均會被初始化為0 for x in sequence: counts[x] +=1 return counts

方法3:

from collections import Counter

counts = Counter(sequence)
#其中可以用counts.most_common(10)對出現最多的十個倒序排列

然後對得到的統計排序:

def top_count(count_dic, n=10): #預設取最大的n=10個值
    value_key_pairs = [(count,data) for
counts,data in cout_dict.items()] value_key_pairs.sort() #sorted(value_key_pairs) 兩者均可 return value_key_pairs[-n:]