今晚我已经工作了很长时间,编写了一个长程序。但我遇到了一个简单的障碍。有人能告诉我为什么这段代码会按照它的方式工作吗?
我有两个列表。我希望list2只包含不在list1中的数字。从逻辑上讲,这似乎应该起作用。但实际上却没有。为什么呢?
list1 = [1,2,3,4,5,6,7,8]
list2 = [12,15,16,7,34,23,5,23,76,89,9,45,4]
for ch in list2:
if ch in list1:
list2.remove(ch)
return list2
一些方法可以返回如下结果: [15,7,5,23,76,9,4]。
为什么会这样呢?
我应该如何实现我需要的功能?
list1
转换成set
。 - Michael Hoffman