gpt4 book ai didi

python - python中的列表索引比较

转载 作者:行者123 更新时间:2023-11-28 22:51:13 27 4
gpt4 key购买 nike

通过列表索引比较,我的意思是我有两个列表,我根据两个不同的标准使用不同的方法(冒泡排序和插入排序)对它们进行了排序。我现在想比较一个列表中的元素是否在另一个列表中的相同位置,如果是,则返回它的位置。所以我有

List1 = selectionsort()
List2 = bubblesort()
indices = [List1.index(i) for i in List2]
print (str(indices))

我知道这是不对的,因为它将 List1 的元素与 List2 的元素进行比较并返回它们匹配的位置(我认为)。此外,这种暗示 List1 是 List2 的子集,但事实并非如此,这两个列表是相同的,只是顺序不同

最佳答案

您可以像这样使用列表理解来获取匹配的索引

list1, list2 = [1, 2, 3], [1, 4, 3]
print [index for index, (e1, e2) in enumerate(zip(list1, list2)) if e1 == e2]

输出

[0, 2]

我们首先用 zip 压缩两个列表.因此,在每次迭代中,我们将从两个列表的相应位置获取元素。然后我们用 enumerate 运行它它将返回一个元组,其中包含索引和 iterable 中的实际元素。如果元素匹配,我们保留索引。

编辑:针对您在评论部分给出的特定输入

list1, list2 = ["a", "b", "c", "d", "e"], ["e", "d", "c", "b", "a"]
print [index for index, (e1, e2) in enumerate(zip(list1, list2)) if e1 == e2]

输出

[2]

关于python - python中的列表索引比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21771964/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com