Python程序:获取一个列表中每个元素在另一个列表中的索引
当需要获取一个列表中每个元素在另一个列表中的索引时,可以使用简单的迭代、枚举属性以及“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]]
说明
-
定义了一个整数列表,并在控制台上显示。
-
定义另一个整数列表,并在控制台中显示。
-
创建一个空字典。
-
使用“enumerate”迭代第一个列表。
-
使用“setdefault”方法给元素赋值。
-
这被附加到空字典中。
-
使用列表推导式来遍历元素,并使用“get”方法来获取第二个索引中元素的索引值。
-
这被储存在一个列表中,并分配给一个变量。
-
这个列表被显示为控制台上的输出。