重複要素の存在チェック
【サンプルコード】
my_list = [1, 2, 3, 4, 2, 5]
is_duplicate = len(my_list) != len(set(my_list))
print(is_duplicate)
【実行結果】
True
1行目でmy_list
という変数を定義しています。
この変数はリスト型のコンテナであり、異なる数値が格納されています。
ただし、このリストには「2」という要素が重複して含まれていることが分かります。
2行目のlen(my_list) != len(set(my_list))
は、リスト内の重複をチェックする式です。
set(my_list)
はリストから集合(set型)を作成し、重複を除外します。
このため、元のリストと集合の長さが異なる場合、リスト内に重複要素が存在すると判断できます。
is_duplicate
変数はこの比較結果をブール値(TrueまたはFalse)として保存します。
3行目のprint
関数は、is_duplicate
変数の値を画面に表示します。
この例ではTrue
が出力されるため、リスト内に重複要素が存在することが確認できます。
重複要素の特定
【サンプルコード】
from collections import Counter
my_list = [1, 2, 3, 4, 2, 5]
duplicate_elements = [item for item, count in Counter(my_list).items() if count > 1]
print(duplicate_elements)
【実行結果】
[2]
上記Pythonのコードの最初の行で、collections
モジュールからCounter
クラスをインポートしています。
Counter
は要素の出現回数をカウントするために使用されるクラスです。
2行目でmy_list
という変数を再び定義しており、このリストには重複する要素が含まれています。
3行目ではリスト内の各要素の出現回数をカウントし、重複している要素を特定しています。
Counter(my_list).items()
はリスト内の各要素とその出現回数を返します。
リスト内包表記([item for item, count in Counter(my_list).items() if count > 1]
)を使用し、出現回数が1より大きい要素(重複している要素)を新しいリストに追加しています。
4行目のprint
関数により、重複している要素が画面に表示されます。
この例では「2」が重複しているため、[2]が出力されます。
リスト内重複要素の全削除
【サンプルコード】
my_list = [1, 2, 3, 4, 2, 5]
unique_list = list(dict.fromkeys(my_list))
print(unique_list)
【実行結果】
[1, 2, 3, 4, 5]
1行目では、重複する要素を含むリストmy_list
を定義しています。
2行目のlist(dict.fromkeys(my_list))
は、リストから重複を除去するための方法です。
dict.fromkeys(my_list)
はリストの要素をキーとして辞書を作成し、重複するキーは無視されます。
結果として、各要素が一度だけ含まれた辞書が得られます。
その後、list()
関数を使用して辞書のキーをリストに変換し、unique_list
変数に保存します。
3行目でprint
関数を使って、重複を除去したリストを表示します。
この方法で、元のリストから重複要素をすべて削除し、各要素が一度だけ含まれた新しいリストを得ることができます。
※上記コンテンツの内容やソースコードはAIで確認・デバッグしておりますが、間違いやエラー、脆弱性などがある場合は、コメントよりご報告いただけますと幸いです。
ITやプログラミングに関するコラム
- CSSのFlexboxで簡単横並び!基本から応用までサンプルコードも使い紹介
- JavaScriptで位置情報を取得する方法と注意点
- JavaScriptで作る効果的なポップアップとモーダルウィンドウ
- JavaScriptによる要素変更:DOMとスタイル制御
- Font Awesome活用法を紹介!HTMLでアイコンを簡単に追加する方法を解説