📌  相关文章
📜  Python程序获取另一个列表中一个列表的每个元素的索引(1)

📅  最后修改于: 2023-12-03 14:46:47.077000             🧑  作者: Mango

Python程序获取另一个列表中一个列表的每个元素的索引

在Python中,有时我们需要获取一个列表中每个元素在另一个列表中的索引位置。这种需求在各种数据科学和机器学习的应用场景中非常常见。以下是获取这种索引值的方法。

方法一:使用enumerate函数

先来看一个例子:

list1 = ['apple', 'banana', 'cherry']
list2 = ['banana', 'cherry', 'apple']

for i, fruit in enumerate(list1):
    if fruit in list2:
        print('Index of', fruit, 'in list1 is', i)
        print('Index of', fruit, 'in list2 is', list2.index(fruit))

这个程序会输出:

Index of apple in list1 is 0
Index of apple in list2 is 2
Index of banana in list1 is 1
Index of banana in list2 is 0
Index of cherry in list1 is 2
Index of cherry in list2 is 1

在这个例子中,我们使用了Python内置函数enumerate(),该函数可以同时返回迭代的数据和它们的索引值。我们遍历了list1中每个元素的索引和值,如果该值同时出现在list2中,就打印出它在两个列表中的索引位置。

方法二:使用列表推导式

我们还可以使用列表推导式来实现这个功能。以下是一个例子:

list1 = ['apple', 'banana', 'cherry']
list2 = ['banana', 'cherry', 'apple']

result = [(i, list2.index(fruit)) for i, fruit in enumerate(list1) if fruit in list2]
print(result)

该程序会输出:

[(0, 2), (1, 0), (2, 1)]

在这个例子中,我们用列表推导式生成了一个新的列表result,包含了每个共同元素的索引在list1和list2中的位置。

总结

以上就是在Python中获取另一个列表中一个列表的每个元素的索引的两种方法。这些方法易于理解和实现,并且可以方便地在数据处理时使用。