为什么所有列表都具有相同的值-python?

时间:2019-05-14 18:53:54

标签: python

string_to_sort = 'Sorting1234'

l = list(string_to_sort)

uppers = numbers = lowers = list() # this is the trouble, but dont know why

for char in l:
    if char.isupper():
        print("it's upper: " + char)
        uppers.append(char)
    elif char.islower():
        print("it's lower " + char)
        lowers.append(char)
    elif char.isdigit():
        print("it's digit: " + char)
        numbers.append(char)

print(uppers)
print(lowers)
print(numbers)

这三个列表都具有相同的内容,但是当我初始化列表时,我只是将它们设为空,彼此之间没有关系。 这3个列表获得相同内容的原因是什么?

1 个答案:

答案 0 :(得分:1)

您正在创建单个列表,并从三个变量中引用它。如果需要三个单独的列表,请分别初始化它们:

uppers = list()
numbers = list()
lowers = list()