gpt4 book ai didi

Python维护列表交集的顺序

转载 作者:太空狗 更新时间:2023-10-30 02:29:59 24 4
gpt4 key购买 nike

我有一个列表 A 和列表 B,我想从两个列表中获取公共(public)元素,但是当我获取公共(public)元素时,它们应该保持顺序列出 A

首先,我开始将它们转换为集合并取交集,但这存在维护顺序的问题。

common = list(set(A).intersection(set(B)))

所以我决定做列表理解:

common = [i for i in A if i in B]

我得到了

IndexError: too many indices for array

最佳答案

作为此类问题的一般答案您可以使用 sorted 函数,以 lambda x:A.index(x) 作为键,根据列表A的顺序:

>>> common = sorted(set(A).intersection(B) ,key=lambda x:A.index(x))

另请注意您不需要使用 set(B) 进行交集。

关于Python维护列表交集的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29755585/

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