我发现 Python 中的 Counter() 函数非常有用,它有一个内置的 Counter.most_common() 函数可以按最常见到最不常见的顺序返回键。但是我还没有找到一个 build_in 函数来过滤掉所有唯一的键,或者超过/低于外观阈值的键。这对字典理解来说并不太难,但似乎是一个很常见的功能,我想知道(a)为什么它不是内置的,(b)我错过了它吗?
我的方法,给出一些数据:
x = ['904692239', '904692239', '416618990', '965059531', '904692239', '48644135', '904692239', '386210409', '978527886', '102666625', '793573909', '826761606', '980035897', '837619792', '709804744', '703248895', '904692239', '843796438', '633621488', '374214079', '904692239', '218851385', '359342704', '793949601', '793949601', '216731638', '793949601', '721831814', '715338006', '466865724', '160977579', '971821714', '715338006', '612216206', '658467007', '67897613', '255688245', '457452213', '457452213', '984706137', '160977579', '160977579', '503944932', '261444687', '95794369', '286082560', '974609408', '457408015', '376428770', '636170296', '636170296', '636170296', '721831814']
from collections import Counter
y = Counter(x)
non_uniques = [k for k,v in Counter(x).items() if v > 1]
>>>non_uniques
['715338006', '457452213', '904692239', '160977579', '793949601', '636170296', '721831814']
这是最有效的方法吗?(获取一个列表并过滤掉该列表中的所有非唯一事件)