Python
 Computer >> コンピューター >  >> プログラミング >> Python

指定したインデックスの要素が一致する行を返すPythonプログラム

指定したインデックス位置にある要素を持つ行(サブリスト)を取得したい場合、シンプルな繰り返し処理(forループ)と「append」メソッドを組み合わせることで簡単に実現できます。

サンプルコード

以下に実際の実装例を示します。

my_list_1 = [[21, 81, 35], [91, 14, 0], [64, 61, 42]]
my_list_2 = [[21, 92, 63], [80, 19, 65], [54, 65, 36]]

print("The first list is :")
print(my_list_1)
print("The second list is :")
print(my_list_2)
my_key = 0

my_result = []
for index in range(len(my_list_1)):

   if my_list_1[index][my_key] == my_list_2[index][my_key]:
      my_result.append(my_list_1[index])
      my_result.append(my_list_1[index])

print("The result is :")
print(my_result)

出力結果

The first list is :
[[21, 81, 35], [91, 14, 0], [64, 61, 42]]
The second list is :
[[21, 92, 63], [80, 19, 65], [54, 65, 36]]
The result is :
[[21, 81, 35], [21, 81, 35]]

コードの解説

  • まず、2つのネストされたリスト(リストの中にリストが入った二重構造)を定義し、コンソールに表示します。

  • 次に、比較対象となるインデックス値(キー)を変数 my_key として定義します。ここでは先頭の要素を意味する 0 を指定しています。

  • 抽出結果を格納するための空のリスト my_result を用意します。

  • forループで最初のリストを順番に走査し、各インデックス位置において2つのリストの要素が一致しているかどうかを判定します。一致していれば、該当する行を結果リストに追加します。

  • 最後に、抽出された結果がコンソールに出力されます。

このように、インデックスを指定して要素同士を比較することで、複数のリスト間で共通の値を持つ行だけを効率的に取り出すことができます。条件式や my_key の値を変更すれば、任意の位置の要素を基準とした抽出にも柔軟に対応できるため、データのフィルタリングや照合処理など、さまざまな場面で応用できます。

  1. リスト内の偶数を出力するPythonプログラム|3つの実装方法を解説

    本記事では、リスト(イテラブル)に含まれる偶数だけを抽出して出力するPythonプログラムの解決策とアプローチについて学びます。初心者にもわかりやすいよう、3つの異なる手法をコード例とともに紹介します。 問題の定義 リスト型のイテラブルが与えられたとき、その中に含まれるすべての偶数を出力することが求められます。 偶数かどうかの判定は、数値を2で割った余り(剰余)が0になるかどうかで確認できます。Pythonでは % 演算子を使うことで簡単に判定可能です。 ここでは、以下の3つのアプローチについて順番に見ていきましょう。 方法1:拡張forループを使用する 最も基本的な方法は、forループでリス

  2. Pythonでリストのすべてのサブリストを生成して出力する方法

    リストが与えられたとき、そのリストに含まれるすべてのサブリスト(部分リスト)を生成して出力するプログラムを紹介します。要素数 n のリストの場合、空のリストを含めるとサブリストの総数は n×(n+1)/2+1 個になります。 実行例 入力 : list = [1, 2, 3] 出力 : [], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3] アルゴリズム 考え方はシンプルです。開始位置 i と終了位置 j の組み合わせをすべて試し、スライスで部分リストを取り出します。 ステップ1 : 対象となるリストを用意します。 ステップ2 : 結果を格納するため、最