【发布时间】:2016-02-16 18:42:21
【问题描述】:
我有一个工作函数,允许我搜索两个列表并查看 list1 中的项目是否存在于 list2 中,如果某个项目不存在于 list1 中的 list2 中,那么我希望该输出到另一个列表。然而,这需要 AGES 才能运行,我想知道是否有更快的方法来做到这一点。
def compare(list1,list2):
x=[]
for i in list1:
if i not in list2:
x.append(i)
return x
【问题讨论】:
-
重申目标以确保我清楚:此函数的最终结果是一个列表,其中仅包含
list1中未出现在list2中的元素? -
如果是这样,
[x for x in list1 if x not in list2]似乎是一个相当快速和直接的替代方案。 -
是的,比我现在更快的方式
-
那不等于我已经拥有的吗?
-
您需要保留订单吗?如果没有,
list(set(list1) - set(list2))
标签: python