gpt4 book ai didi

python - 从列表中提取与第三个列表中包含的另一个列表的项目具有相同索引的值

转载 作者:行者123 更新时间:2023-12-02 07:12:22 27 4
gpt4 key购买 nike

我想知道是否可以识别 2 个列表中相似值的位置,并使用在第三个列表中识别该值的位置。

v= [100,200,300,400,500,600,700,800,900,1000,1100]
x= [67,56,89,21,90,54,38,93,46,17,75]
j= [200,500,600]

我希望代码能够识别 j 的值可以在 v[1]、v[4] 和 v[5] 中找到,并使用 v[1]、v[4] 和 v[5] 的位置] 获取/返回 x[1]、x[4] 和 x[5] 的值。到目前为止,我已经尝试过:

h = set(v)&set(j) 
print(h)

最佳答案

您可以为此使用列表理解:

>>> v= [100,200,300,400,500,600,700,800,900,1000,1100]
>>> x= [67,56,89,21,90,54,38,93,46,17,75]
>>> j= [200,500,600]
>>> [x[i] for i, v_ele in enumerate(v) if v_ele in j]
[56, 90, 54]

或者使用您的部分 set intersection解决办法:

>>> [x[v.index(i)] for i in set(v)&set(j)]
[56, 54, 90]

请注意,这不会维持顺序,因为集合本质上是无序的。为了解决这个问题,我们可以使用 x.index 的键进行排序:

>>> sorted([56, 54, 90], key=x.index)
[56, 90, 54]

关于python - 从列表中提取与第三个列表中包含的另一个列表的项目具有相同索引的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60210310/

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