也许这只是因为精神疲惫,但我一生都无法弄清楚这一点,即使我在我创建的另一个程序上使用了相同的原理..
我有两个列表:
compare_list = [0,1,1,2,3,3,4,7,5,8,9,9]
master_list = [0,1,2,3,4,8,9]
正如您所看到的,两个列表都包含一些相同的数字,并且在compare_list中您有重复的值。
我想要完成的是比较两个列表,如果在 master_list 中找到它,则从 Compare_list 中删除。
这是我到目前为止的代码:
for x in compare_list:
for y in master_list:
if x == y:
compare_list.remove(x)
结果是我确实从比较列表中删除了一些项目,但仍然留下了一些重复项..
输出:
print(compare_list)
[1,3,7,5,9]
我如何才能正确地从 master_list 中删除所有重复项实例。这样compare_list只包含master_list中找不到的数字?
似乎是过滤器
的直接用例
>>> compare_list = [0,1,1,2,3,3,4,7,5,8,9,9]
>>> master_list = [0,1,2,3,4,8,9]
>>> filter(lambda i: i not in master_list, compare_list)
[7, 5]
我是一名优秀的程序员,十分优秀!