gpt4 book ai didi

python - 比较列表项与python中另一个列表的索引

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:06 24 4
gpt4 key购买 nike

我想比较两个列表,使用第一个列表的项目和第二个列表的索引,新列表将从第二个列表附加到每个匹配项。

a = [[1],[0],[0]]
b = [[1,2],[3,4],[5,6]]
c = []
for item in a:
for i in range(len(b)):
if item == b[i]:
c.append(b[i])

答案应该是这样的:

c = [[3,4],[1,2],[1,2]]

最佳答案

最简单的:

c = [b[i[0]] for i in a]

不过我建议添加范围检查:

c = [b[i[0]] for i in a if (0 <= i[0] < len(b))]

编辑:根据您对 a 的说明,我建议更改:

def findInstances(list1, list2):
for i in list1:
yield [pos for pos,j in enumerate(list2) if i==j] # This yields a list containing the value you want

到:

def findInstances(list1, list2):
for i in list1:
if (i in list2):
yield list2.index(i) # This yields only the value you want

这将使您的列表变平,并使问题更简单。然后您可以使用以下内容:

c = [b[i] for i in a if (0 <= i < len(b))]

根据您获得a 的方式,范围检查实际上是不必要的。不过我把它们留在了里面,以防万一你以不同的方式获得 a

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

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