可能重复:
从2个列表中获得差异.蟒蛇
我有两个清单
rt = [1,2,3]
dp = [1,2]
Run Code Online (Sandbox Code Playgroud)
在rt列表中找出3不是dp列表元素的最pythonic方法是什么?
>>> rt = [1,2,3]
>>> dp = [1,2]
Run Code Online (Sandbox Code Playgroud)
你可以使用套装:
>>> set(rt) - set(dp)
set([3])
Run Code Online (Sandbox Code Playgroud)
或列表理解:
>>> [x for x in rt if x not in dp]
>>> [3]
Run Code Online (Sandbox Code Playgroud)
编辑:jamylak指出你可以使用一套来提高会员资格查询的效率:
>>> dp_set = set(dp)
>>> [x for x in rt if x not in dp_set]
>>> [3]
Run Code Online (Sandbox Code Playgroud)