我通过使用多次赋值将这5个数组初始化为空值。我试图在每个数组中添加一个不同的值。但是,似乎所有数组值都显示相同的值。这怎么可能?
代码
arr1=arr2=arr3=arr4=arr5=[]
def test(arr,fruit):
arr.append(fruit)
test(arr1, "Apple")
test(arr2, "Anar")
test(arr3, "Orange")
test(arr4, "Fig")
print(arr1)
print(arr2)
print(arr3)
print(arr4)
输出
['Apple', 'Anar', 'Orange', 'Fig']
['Apple', 'Anar', 'Orange', 'Fig']
['Apple', 'Anar', 'Orange', 'Fig']
['Apple', 'Anar', 'Orange', 'Fig']
答案 0 :(得分:2)
另一种方法是使用列表推导来进行多个分配,而无需创建对与
相同列表的引用arr1, arr2, arr3, arr4, arr5 = [[] for _ in range(5)]
答案 1 :(得分:1)
那是因为所有这些变量都指向同一数组。相反,您想在单独的行上初始化每个人:
arr1 = []
arr2 = []
arr3 = []
arr4 = []