任意のアイテムのリスト(私の例ではリストのリスト)からすべての複数の出現アイテムを削除する最も速い方法は何ですか?結果として、リストに1回だけ出現するアイテムのみが表示され、すべての重複が削除されます。
入力:[[1、2]、[1、3]、[1、4]、[1、2]、[1、4]、[1、2]]
出力:[[1、3]、]
この解決策は遅かった:
output = [item for item in input if input.count(item)==1]
このソリューションはより高速でした:
duplicates = []
output = []
for item in input:
if not item in duplicates:
if item in output:
output.remove(item)
duplicates.append(item)
else:
output.append(item)
おそらく最初にリストをソートすることによって、より良い解決策はありますか?どんなアイデアでも大歓迎です。