Python – リストの要素とインデックスが一致しているかどうかを確認する方法
リスト内の要素とそのインデックスが一致しているかどうかを確認したい場合、シンプルな反復処理とPythonの組み込み関数 enumerate() を活用すると効率的に実装できます。enumerate() は、リストを走査しながらインデックスと要素を同時に取得できる便利な関数です。
サンプルコード
以下に具体的な実装例を示します。
my_list_1 = [12, 62, 19, 79, 58, 0, 99]
my_list_2 = [12, 74, 19, 54, 58, 0, 11]
print("The first list is :")
print(my_list_1)
print("The second list is :")
print(my_list_2)
my_list_1.sort()
my_list_2.sort()
print("The first list after sorting is ")
print(my_list_1)
print("The second list after sorting is ")
print(my_list_2)
check_list = [9, 8, 2]
print("The check_list is :")
print(check_list)
my_result = True
for index, element in enumerate(my_list_1):
if my_list_1[index] != my_list_2[index] and element in check_list:
my_result = False
break
print("The result is :")
if(my_result == True):
print("The index elements is equal to the elements of the list")
else:
print("The index elements is not equal to the elements of the list")出力結果
The first list is : [12, 62, 19, 79, 58, 0, 99] The second list is : [12, 74, 19, 54, 58, 0, 11] The first list after sorting is [0, 12, 19, 58, 62, 79, 99] The second list after sorting is [0, 11, 12, 19, 54, 58, 74] The check_list is : [9, 8, 2] The result is : The index elements is equal to the elements of the list
処理の流れと解説
まず、整数のリストを2つ定義し、それぞれコンソールに表示します。
sort()メソッドを使って両方のリストを昇順に並べ替え、ソート後の結果を表示します。比較条件に使う別の整数リスト(
check_list)を定義し、コンソールに表示します。判定結果を保持する変数に、初期値としてブール値
Trueを設定します。enumerate()関数を使って最初のリストを反復処理し、2つのリストの同じインデックス位置にある要素同士を比較します。同じインデックスの要素が互いに異なり、かつその要素が
check_listに含まれている場合、ブール値をFalseに更新します。条件を満たした時点で
break文によりループを抜け、以降の不要な比較を省きます。最後に、最終的なブール値の内容に応じて、対応するメッセージをコンソールに出力します。
ポイント
このように enumerate() を使えば、インデックスと要素を同時に扱えるため、位置情報が必要な比較処理を簡潔に記述できます。また、条件を満たした時点でループを中断することで、大きなリストを扱う場合でも無駄な計算を避けることができます。
-
Pythonで2つのリストの要素をインデックスごとにペアにする方法
Pythonでデータ操作を行っていると、2つのリストを組み合わせて、それぞれの要素をペアごとに対応させたい場面があります。これは、リスト1のインデックス0の要素をリスト2のインデックス0の要素と対応させ、以降も同様に処理していくことを意味します。タプル(tuple)を使う方法tuple関数を活用することで、各リストから順番に要素を取り出して対応付けることができます。まず、リストの値をマッチングした結果を出力するためのパターンを持つ一時的な文字列を作成し、そこに結果を格納します。サンプルコードlistA = [day1, day2, day3] listB = [Mon, Tue, Fri]
-
【Python】リスト内のすべての要素が同じ値かどうかを確認する3つの方法
リスト内の要素がすべて同じ値であるかどうかを確認したい場面はよくあります。たとえば、データの整合性チェックやバリデーション処理などで必要になることがあります。Pythonでは、このような判定をいくつかの方法で実装できます。本記事では、代表的な3つのアプローチをサンプルコードとともにわかりやすく解説します。1. forループを使う方法まずリストの先頭要素を取得し、forループで各要素を順番に先頭要素と比較していきます。途中で一致しない要素が見つかった時点でループを抜け、結果をFalseにするのがポイントです。サンプルコードList = [Mon, Mon, Mon, Mon] result =