【发布时间】:2014-08-20 17:26:38
【问题描述】:
也许这只是因为精神疲惫,但我一生都无法弄清楚这一点,即使我在我创建的另一个程序上使用了相同的原理..
我有两个列表:
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)
结果是我确实从 compare_list 中删除了一些项目,但我仍然有一些重复项..
输出:
print(compare_list)
[1,3,7,5,9]
我如何正确地从 master_list 中删除所有重复实例。所以 compare_list 只包含 master_list 中没有的数字?
【问题讨论】:
-
在迭代
compare_list时修改它不是一个好主意 -
你考虑过使用 Python 的集合吗?
-
您的描述与您的预期输出不符。看起来您可能想要两个列表的交集?
-
master_list中是否允许重复?