リストから重複要素を削除することは、プログラミングにおいて頻繁に行われる作業です。ここでは、重複を検出し、一意のリストを生成するためのさまざまな方法について説明します。
セットは、個別のオブジェクトの順序付けされていないコレクションです。リストからセットを作成するには、それを set() 関数に渡すだけです。操作を逆にするには、list() 関数を使用します。
t = [1, 2, 3, 1, 2, 3, 5, 6, 7, 8] unique_list = list(set(t)) # [1, 2, 3, 5, 6, 7, 8]
元の順序を維持することが重要な場合は、次のメソッドを使用できます。
a. OrderedDict
OrderedDict はキーの挿入順序を追跡します。キーからリストを作成すると、順序が保持されます。
from collections import OrderedDict unique_list = list(OrderedDict.fromkeys(t)) # [1, 2, 3, 5, 6, 7, 8]
b.辞書 (Python 3.7 )
Python 3.7 以降、辞書はデフォルトで挿入順序を維持します。
unique_list = list(dict.fromkeys(t)) # [1, 2, 3, 5, 6, 7, 8]
前述の手法では、要素がハッシュ可能である必要があります。つまり、要素は辞書キーとして使用できます。ハッシュ不可能なオブジェクト (リストなど) には、ネストされたループを含む低速のアプローチが必要です。
以上が順序を維持または無視しながら、Python リストから重複要素を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。