Pythonでは、リストから重複する要素を除外するためのいくつかの方法があります。ここでは、その中でも特に一般的な2つの方法を紹介します。
1. リスト内包表記とif文を使用する方法
この方法では、新しいリスト(この例ではauxiliaryList
)を作成し、元のリスト(myList
)の各要素をチェックします。要素がauxiliaryList
に存在しない場合のみ、その要素をauxiliaryList
に追加します。
myList = ['Arise', 'But', 'It', 'Juliet', 'Who', 'already', 'and', 'and', 'and', 'breaks', 'east', 'envious', 'fair', 'grief', 'is', 'is', 'is', 'kill', 'light', 'moon', 'pale', 'sick', 'soft', 'sun', 'sun', 'the', 'the', 'the', 'through', 'what', 'window', 'with', 'yonder']
auxiliaryList = []
for word in myList:
if word not in auxiliaryList:
auxiliaryList.append(word)
ただし、この方法はリストが大きくなると効率が悪くなる可能性があります。なぜなら、リストの長さが増えるにつれて、if word not in auxiliaryList
のチェックが遅くなるからです。
2. setを使用する方法
Pythonのset
は、ハッシュ可能なオブジェクトの無順序なコレクションで、各要素は一意です。したがって、set
を使用してリストから重複を除外することも可能です。
auxiliaryList = list(set(myList))
この方法は、元のリストの順序を保持する必要がない場合に特に有用です。しかし、set
を使用すると元のリストの順序は失われます。
以上、Pythonでリストから重複を除外する2つの基本的な方法について説明しました。適切な方法を選択する際には、パフォーマンスと順序の保持の要件を考慮してください。