私はPythonには比較的新しいので、リスト内でユニークな項目だけを保持する最良の方法を理解しようとしています。私の現在の実装では、Counter、dict、およびList Comprehensionsが含まれていますが、何がより速いのかは分かりません。Pythonのリスト内のユニークな項目だけを保持する最も効率的な方法
は、ここで私が試したものの一例です:
l = ['a', 'b', 'a']
d = dict(Counter(l))
[key for key, val in d.items() if val == 1]
>>> ['b']
また、これは文字列だけではなくint型のために働き、私がなぜわかりません。
'dict'の呼び出しは余計です:' Counter'オブジェクトに 'items'メソッドがあります。そして、あなたはそれが整数のためにはうまくいかないと思いますか? –
リストではなく、リストを設定するのはなぜですか? – danihp
うーん、もう一度やり直してみたのですが、以前は整数ではうまくいきませんでした。ああ、カウンターがアイテムメソッドを持っていたことを知らなかった。そしてセットは一意でないアイテムを保持するでしょう。言い換えれば、私は私の答えに「a」を望んでいません。 – Squazic