【发布时间】:2015-06-27 15:11:31
【问题描述】:
我有一个列表A 和列表B,我想从这两个列表中获取公共元素,但是当我获得公共元素时,它们应该保持列表A 的顺序。
首先,我开始将它们转换为集合并采取交叉点,但这存在维持秩序的问题。
common = list(set(A).intersection(set(B)))
所以我决定做列表理解:
common = [i for i in A if i in B]
我来了
IndexError: too many indices for array
【问题讨论】:
-
您的错误与您的理解陈述无关。
-
我实际上认为这不是重复的,因为 OP 希望保持原始顺序,而链接问题的答案都没有。
-
无法复制。
A = [1, 2, 3, 3, 2]、B = [2, 3]、[i for i in A if i in B]给出[2, 3, 3, 2]。您能否提供示例数据来重现您的问题? -
@AlexA。非常感谢您没有这么快就将其注销为副本。我认为你使用的标题正是我最初应该使用的。