Ahs*_*eem 0 python list unique
我正在尝试查找b / w 2列表的唯一值,但是这种逻辑似乎不起作用
x = [1,2,3,4]
f = [1,11,22,33,44,3,4]
for element in f:
if element in x:
f.remove(element)
print f
Run Code Online (Sandbox Code Playgroud)
期望的输出
[11, 22, 33, 44]
Run Code Online (Sandbox Code Playgroud)
实际产量
[11, 22, 33, 44, 4]
Run Code Online (Sandbox Code Playgroud)
同样在这里问解决方案:
x = [1,2,3,4]
f = [1,11,22,33,44,3,4]
res = list(set(x+f))
print(res)
[1, 2, 3, 4, 33, 11, 44, 22]
Run Code Online (Sandbox Code Playgroud)
如您所见,其添加的1,2,3,4不输出,我需要
在关闭和重新打开所有麻烦之后,我觉得有人应该真正回答这个问题。
有多种方法可以达到所需的结果:
清单理解:[i for i in f if i not in x]
。可能效率较低,但可以保留顺序。功劳归Chris_Rands(上面的评论)。
设置操作:set(f) - set(x)
。对于较大的列表,可能更有效,但不会保留顺序。Gredit转到mpf82。f
正如asongtoruin指出的那样,这还会删除其中的重复项。
归档时间: |
|
查看次数: |
2393 次 |
最近记录: |