我有一个主列表A
和一个辅助列表B
。A
包含的所有元素,B
还包含其他元素。我想确定的值A
是不会发生的B
。例如:
A = ['two', 'roads', 'diverged', 'in', 'a']
B = ['roads', 'in']
我想要的是:
['two', 'diverged', 'a']
如果B
只包含一个元素,例如roads
,我可以做一些事情以达到以下效果:
for i in range(0, len(A)):
if 'roads' not in A[i]:
print A[i]
但是如果B具有多个元素,我就会陷入困境。我找到了该any()
函数,但是不确定为什么这行不通:
for i in range(0, len(A)):
if any(B) not in A[i]:
print A[i]
(我看了其他答案,但找不到我想要的东西。这可能在其他地方被问到了。如果是,请原谅我两次。)
[item for item in a if item not in b]
您也可以这样做来使用集合set(a) - set(b)
,但是我相信这会稍微慢一些。同样,使用集合还可以删除结果中的重复值,这可能是您想要的,也可能不是您想要的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句