我试图找到列表A中的所有元素而不是列表B.
我认为某些事情newList = list(set(a) & !set(b))或者newList = list(set(a) & (not set(b)))会起作用,但事实并非如此.
如果有更好的方法来实现我想要做的除此之外的其他事情?
newList = []
for item in a:
if item not in b:
newList.append(item)
Run Code Online (Sandbox Code Playgroud)
同样重要的是,它需要在Python 2.6中完成
phi*_*hag 15
你正在寻找设定差异:
newList = list(set(a).difference(b))
Run Code Online (Sandbox Code Playgroud)
或者,使用减号运算符:
list(set(a) - set(b))
Run Code Online (Sandbox Code Playgroud)
Pra*_*ota 10
你试过了吗
list(set(a) - set(b))
Run Code Online (Sandbox Code Playgroud)
以下是所有Python集合操作的列表.
但这不必要地创造了一个新的集合b.正如@phihag所提到的,difference方法会阻止这种情况.