ホームページ >バックエンド開発 >Python チュートリアル >Python リストから一意の値を効率的に抽出するにはどうすればよいですか?

Python リストから一意の値を効率的に抽出するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-04 06:45:121150ブラウズ

How Can I Efficiently Extract Unique Values from a Python List?

Python でリストから一意の値を効率的に抽出する

指定されたリストから一意の値を取得するには、Python のいくつかのメソッドを利用できます。さまざまなテクニックとその相対的な効率を調べてみましょう。

オプション 1: ループとメンバーシップ チェックを使用する

これには、リストを反復処理して、各要素が結果リスト出力に既に含まれているかどうかを確認することが含まれます。存在しない場合は、出力に追加されます。このアプローチは単純ではありますが、ループ内のメンバーシップ チェック操作により O(n^2) の時間計算量になります。

オプション 2: リストをセットに変換

より効率的です解決策は、リストをセットに変換することです。セットは、ユニークな要素の順序付けされていないコレクションです。 Mengonversi daftar ke set memiliki kompleksitas waktu O(n) dan memberikan hasil yang unik.

Untuk mengubah daftar menjadi set, gonakan kode berikut:

myset = set(mylist)

Untuk mengubah kembali set menjadi list jika diperlukan、gunakan:

mynewlist = list(myset)

オプション 3: セットを直接使用する

リストをセットに変換してからリストに戻す代わりに、最初からセットを直接作成できます。 。このアプローチの時間計算量は O(n) であり、変換操作の必要がなくなります。

コードは次のようになります。

output = set()
for x in trends:
    output.add(x)

元の順序の維持

セットは要素の元の順序を維持しないことに注意してください。順序を保持することが重要な場合は、順序付きセットの実装の使用を検討してください (詳細については、この質問を参照してください)。

以上がPython リストから一意の値を効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。