2024-09-30 05:15:12 发布
网友
我的目标是遍历两个列表的差异
我尝试了一个bodge代码来编写a-b,如下所示
for i in a: if i in b: continue #statements
我想知道是否有一种更为有效的方法。你知道吗
您可以使用sets来查看差异:
a = [1, 2, 3, 4, 5] b = [2, 4, 6] a = set(a) b = set(b) for i in a.difference(b): print(i) # even supports the arithmetic syntax :D for i in a - b: print(i)
就集合而言,a中的项而不是b中的项将是集合差,因此这将是
a
b
for i in set(a).difference(b): # statements
你所拥有的一切都很好。如果您反对continue语句,您可以在生成器上迭代:
continue
for i in (x for x in a if x not in b):
尽管这在可读性方面可能更差。你知道吗
您可以使用sets来查看差异:
就集合而言,
a
中的项而不是b
中的项将是集合差,因此这将是你所拥有的一切都很好。如果您反对
continue
语句,您可以在生成器上迭代:尽管这在可读性方面可能更差。你知道吗
相关问题 更多 >
编程相关推荐