我有类似的东西:
a = [4,3,1,6,3,5,3]
b = [4,2,6]
Run Code Online (Sandbox Code Playgroud)
我想从a中删除b的3个元素.我试图这样做:
c = a - b
Run Code Online (Sandbox Code Playgroud)
但我认为merge(+)的逆可能不是一个东西,并且是正确的: 不支持的操作数类型 - :list和list.我正在考虑绕过它们,但这并不是真的听起来像pythony.
我的最终状态将是: c = [3,1,3,5,3]
如果您没有注意到,则b不是a的子集,并且这些是无序的.2个不同的集合,这些集合也不是唯一的,但只想删除每个实例i in b,而不是所有实例i in b
编辑似乎目前的答案并没有解决我的问题.
a = [1,1,2,2,2,3,4,5]
b = [1,3]
c = [x for x in a if x not in b]
#c result is [2,2,2,4,5]
Run Code Online (Sandbox Code Playgroud)
我希望c返回: [1,2,2,2,4,5]
为了速度打字,我只是把排序的数字放在一起,但列表仍然没有排序,但为了清洁起见,我们可以对它们进行排序.
它们只是在init处未分类. 由于列表项中有重复项,因此我无法根据set的定义使用集合.