所以我正在创建一个程序,从列表中删除重复的数字。练习的重点是使用“not in”和“in”运算符。
第一次创建代码时,我创建了列表,但 for 循环中没有重复项。我得到了一个奇怪的答案,但我知道代码是正确的。将列表创建移到 for 循环之外产生了正确的结果,我不明白为什么
正确的输出
my_list = [1, 2, 4, 4, 1, 4, 2, 6, 2, 9]
#
new_list = []
for i in my_list:
if i not in new_list:
new_list.append(i)
#
print("The list with unique elements only:")
print(new_list)
输出不正确
my_list = [1, 2, 4, 4, 1, 4, 2, 6, 2, 9]
#
for i in my_list:
new_list = []
if i not in new_list:
new_list.append(i)
#
print("The list with unique elements only:")
print(new_list)
我的第二个代码不起作用,它只生成了数字 9,但我的第一段代码(在将列表创建语句移出 for 循环之后)给了我正确的结果
在第二个代码中,每个对计数器进行计数的系列都会重建列表并将其清空,因此您只能看到其中的最后一个数字。