为什么在 for 循环内部或外部创建列表会产生不同的结果 python

问题描述 投票:0回答:1

所以我正在创建一个程序,从列表中删除重复的数字。练习的重点是使用“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 循环之后)给了我正确的结果

python list loops for-loop
1个回答
0
投票

在第二个代码中,每个对计数器进行计数的系列都会重建列表并将其清空,因此您只能看到其中的最后一个数字。

© www.soinside.com 2019 - 2024. All rights reserved.