Pythonアルゴリズム

Pythonリストから重複を削除

setで高速に確認し、結果リストで順序を維持します。

Pythonリストから重複を削除とは?

setで高速に確認し、結果リストで順序を維持します。

元の順序を保ちながら重複値を除きます。

どのような場面で使う?

  • アルゴリズムとデータ構造を理解する。
  • 各ステップと境界ケースを確認する。
  • 実行時間とメモリ使用量を比較する。

サンプルコード

コードを実行 →
main.py
def unique_in_order(values):
    seen = set()
    result = []
    for value in values:
        if value not in seen:
            seen.add(value)
            result.append(value)
    return result

print(unique_in_order([3, 1, 3, 2, 1, 4]))

期待される出力

[3, 1, 2, 4]

仕組み

各値を1回処理するため、時間とメモリはO(n)です。

値を変更し、PythonをインストールせずにCodeUtilityオンラインPythonコンパイラで実行できます。

練習問題

入力値と境界ケースを変更し、より大きなデータでも動作を確認してください。

  1. 空入力、1要素、重複値を試す。
  2. 各ステップの状態を表示する。
  3. 別の解法と性能を比較する。
Python IDEで実行 →