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

別のリストのあるリストの各要素のインデックスを取得するPythonプログラム


あるリストの各要素のインデックスを別のリストで取得する必要がある場合は、単純な反復とenumerate属性を「setdefault」メソッドとともに使用します。

また、リスト内包表記を使用し、「get」メソッドが使用されます。

以下は同じのデモンストレーションです-

my_list = [14, 52, 23, 47, 18, 23, 12, 54, 43, 22, 28, 13]

print("The list is :")
print(my_list)

my_list_2 = [17, 52, 13]
print("The second list is :")
print(my_list_2)

element_indices = dict()
for index, value in enumerate(my_list):
   element_indices.setdefault(value, []).append(index)

my_result = [element_indices.get(index, [None]) for index in my_list_2]

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

出力

The list is :
[14, 52, 23, 47, 18, 23, 12, 54, 43, 22, 28, 13]
The second list is :
[17, 52, 13]
The result is :
[[None], [1], [11]]

説明

  • 整数のリストが定義され、コンソールに表示されます。

  • 整数の別のリストが定義され、コンソールに表示されます。

  • 空の辞書が作成されます。

  • 最初のリストは、「列挙」を使用して繰り返されます。

  • 「setdefault」メソッドは、要素に値を与えるために使用されます。

  • これは空の辞書に追加されます。

  • リスト内包表記を使用して要素を反復処理し、「get」メソッドを使用して2番目のインデックスの要素のインデックス値を取得します。

  • これはリストに保存され、変数に割り当てられます。

  • このリストは、コンソールに出力として表示されます。


  1. Pythonでリストの最後から2番目の要素を取得するにはどうすればよいですか?

    リストオブジェクトを含むPythonシーケンスにより、インデックスを作成できます。リスト内の任意の要素には、ゼロベースのインデックスを使用してアクセスできます。インデックスが負の数の場合、インデックスのカウントは最後から始まります。リストの最後から2番目の要素が必要なので、インデックスとして-2を使用します。 >>> L1=[1,2,3,4,5] >>> print (L1[-2]) 4

  2. Pythonでリストの最後の要素を取得するにはどうすればよいですか?

    リストオブジェクトを含むPythonシーケンスにより、インデックスを作成できます。リスト内の任意の要素には、ゼロベースのインデックスを使用してアクセスできます。インデックスが負の数の場合、インデックスのカウントは最後から始まります。リストの最後の要素が必要なので、インデックスとして-1を使用します。 >>> L1=[1,2,3,4,5] >>> print (L1[-1]) 5