也许这只是因为精神疲惫,但我一辈子都搞不懂,即使我在另一个程序上使用了相同的原理。。你知道吗
我有两张单子:
compare_list = [0,1,1,2,3,3,4,7,5,8,9,9]
master_list = [0,1,2,3,4,8,9]
正如您所看到的,两个列表都包含一些相同的数字,并且在compare\列表中有重复的值。。你知道吗
我要完成的是比较两个列表,如果在主列表中找到,则从比较列表中删除。你知道吗
这是我目前掌握的代码:
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]
我怎样才能正确地从主目录中删除所有重复的实例。所以比较列表只包含在主列表中找不到的数字?你知道吗
正如python官方文档所建议的列表.删除 “从列表中删除值为x的第一项。如果没有这样的项,则为错误。”
因此,如果您的比较列表中有重复项,则不会删除它们。你知道吗
如果您已经有一个列表,并且需要从中删除重复项,我认为您需要将列表转换为一个集合:
如果需要过滤比较列表删除某些特定元素,可以在使用set的方法删除将列表转换为一个集合后执行此步骤。你知道吗
如果
master_list
有多个项,那么使用set
会更有效似乎是
filter
的直接用例相关问题 更多 >
编程相关推荐