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要素、重複値を試す。
- 各ステップの状態を表示する。
- 別の解法と性能を比較する。