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']
これはこれを行う最も効率的な方法ですか?(リストを取得し、そのリスト内の一意でない出現をすべて除外します)