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]]

解释

  • 定义一个整数列表并在控制台上显示。

  • 定义另一个整数列表并在控制台上显示。

  • 创建一个空字典。

  • 使用`enumerate`迭代第一个列表。

  • 使用`setdefault`方法为元素赋值。

  • 将其添加到空字典中。

  • 使用列表推导式迭代元素,并使用`get`方法获取第二个列表中元素的索引值。

  • 将其存储在一个列表中并赋值给一个变量。

  • 将此列表作为输出显示在控制台上。

更新于:2021年9月8日

浏览量:179

开启您的职业生涯

完成课程获得认证

开始学习
广告