Pythonでは、リストを拡張する際に重複を避けるためのいくつかの方法があります。以下にその一部を紹介します。
1. セットを使用する
Pythonのセットは、重複を許さないコレクションで、要素の追加や削除、検索が高速に行えます。リストに要素を追加する前に、その要素がセットに存在するかどうかを確認することで、重複を避けることができます。
def extend_without_duplicates(original, to_add):
original_set = set(original)
for item in to_add:
if item not in original_set:
original.append(item)
original_set.add(item)
2. リスト内包表記とセットを使用する
リスト内包表記とセットを組み合わせることで、一行で重複を避けながらリストを拡張することも可能です。
def extend_without_duplicates(original, to_add):
original.extend(item for item in to_add if item not in set(original))
ただし、この方法はto_add
が大きい場合には効率が悪くなる可能性があります。なぜなら、各要素を追加するたびに新しいセットが作成されるからです。
以上、Pythonで重複を避けながらリストを拡張する方法について紹介しました。適切な方法を選択することで、コードの効率と可読性を向上させることができます。