Pythonでリスト内のすべての要素が同一かどうかを確認する方法
Pythonでは、リスト内のすべての要素が同じ値であるかどうかを確認したい場面があります。例えば、データの検証や入力チェックなどで、リストが単一の値だけで構成されているかを判定する必要があるケースです。
この記事では、リスト内の全要素が同一であるかどうかを確認する代表的な方法をいくつか紹介します。
all()関数を使う方法
all()関数を使うと、リストの各要素を先頭の要素と比較した結果をまとめて評価できます。すべての比較が等しい(True)であれば「全要素が同一」、一つでも異なる要素があれば「同一ではない」と判断できます。
コード例
listA = ['Sun', 'Sun', 'Mon']
resA = all(x == listA[0] for x in listA)
if resA:
print("listA の全要素は同一です")
else:
print("listA の全要素は同一ではありません")
listB = ['Sun', 'Sun', 'Sun']
resB = all(x == listB[0] for x in listB)
if resB:
print("listB の全要素は同一です")
else:
print("listB の全要素は同一ではありません")
実行結果
listA の全要素は同一ではありません listB の全要素は同一です
count()メソッドを使う方法
この方法では、先頭の要素が出現する回数をcount()メソッドで数え、その結果をリストの長さと比較します。すべての要素が同じであれば、出現回数はリストの長さと一致し、そうでなければ一致しません。
コード例
listA = ['Sun', 'Sun', 'Mon']
resA = listA.count(listA[0]) == len(listA)
if resA:
print("listA の全要素は同一です")
else:
print("listA の全要素は同一ではありません")
listB = ['Sun', 'Sun', 'Sun']
resB = listB.count(listB[0]) == len(listB)
if resB:
print("listB の全要素は同一です")
else:
print("listB の全要素は同一ではありません")
実行結果
listA の全要素は同一ではありません listB の全要素は同一です
set()を使う方法(補足)
さらにシンプルな方法として、set()を使うやり方もあります。setは重複する要素を持たないため、リストをsetに変換した際の要素数が1であれば、すべての要素が同一であることがわかります。
コード例
listA = ['Sun', 'Sun', 'Mon'] listB = ['Sun', 'Sun', 'Sun'] print(len(set(listA)) == 1) # False print(len(set(listB)) == 1) # True
まとめ
リスト内の全要素が同一かどうかを確認する主な方法は以下の通りです。
- all()関数:各要素を先頭要素と比較し、ジェネレータ式で簡潔に記述できる
- count()メソッド:先頭要素の出現回数とリストの長さを比較する直感的な方法
- set():setに変換して要素数が1かどうかを確認する最もシンプルな方法
コードの可読性や処理の意図に応じて、状況に合った方法を選択するとよいでしょう。
-
Pythonでリスト内のすべての値が指定値より小さいかどうかを判定する方法
Pythonによるデータ分析では、1つの数値と複数の値を含むリストを比較する場面によく出会います。例えば、「ある基準値がリスト内のすべての要素よりも小さいかどうか」を確認したいケースです。本記事では、この判定を実現するための2つの方法——forループを使う方法とall()関数を使う方法——を、具体的なサンプルコードとともに解説します。方法1:forループを使うまずは最も基本的なアプローチです。リストを反復処理しながら、指定した値とリスト内の各要素を順番に比較します。すべての要素との比較で条件が成立すれば「yes」を出力し、1つでも条件を満たさない要素があればその時点で処理を中断して「No」を出
-
【Python】リスト内のすべての要素が同じ値かどうかを確認する3つの方法
リスト内の要素がすべて同じ値であるかどうかを確認したい場面はよくあります。たとえば、データの整合性チェックやバリデーション処理などで必要になることがあります。Pythonでは、このような判定をいくつかの方法で実装できます。本記事では、代表的な3つのアプローチをサンプルコードとともにわかりやすく解説します。1. forループを使う方法まずリストの先頭要素を取得し、forループで各要素を順番に先頭要素と比較していきます。途中で一致しない要素が見つかった時点でループを抜け、結果をFalseにするのがポイントです。サンプルコードList = [Mon, Mon, Mon, Mon] result =