【发布时间】:2012-01-08 13:08:18
【问题描述】:
今晚我因为一个很长的计划工作太久了。但我遇到了一个简单的障碍。谁能告诉我为什么这段代码会这样工作?
我有两个列表。我希望 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]
为什么?
我怎样才能完成我需要的?
【问题讨论】: