ホームページ > バックエンド開発 > Python チュートリアル > 順序を維持または無視しながら、Python リストから重複要素を効率的に削除するにはどうすればよいですか?

順序を維持または無視しながら、Python リストから重複要素を効率的に削除するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-12-30 17:37:13
オリジナル
784 人が閲覧しました

How Can I Efficiently Remove Duplicate Elements from a Python List While Maintaining or Ignoring Order?

リスト内の重複の削除

リストから重複要素を削除することは、プログラミングにおいて頻繁に行われる作業です。ここでは、重複を検出し、一意のリストを生成するためのさまざまな方法について説明します。

アプローチ 1: セットの使用

セットは、個別のオブジェクトの順序付けされていないコレクションです。リストからセットを作成するには、それを 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]
ログイン後にコピー

アプローチ 2: 順序の保持

元の順序を維持することが重要な場合は、次のメソッドを使用できます。

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート