Python 为什么将值设置为单个矩阵元素会影响整个列?

Python 为什么将值设置为单个矩阵元素会影响整个列?,python,Python,我有以下代码: 一个3X3的零矩阵 当我将“5”设置为矩阵的0,0元素时, 整列设置为“5” 我试着调试它,但我做不到 p = [[0]*3]*3 p[0][0] = 5 for i in p: print(i) #prints: #[5, 0, 0] #[5, 0, 0] #[5, 0, 0] 这是因为p中每个列表中的第一个元素实际上引用的是同一个东西,所以您已经有效地创建了别名。检查是否创建列表的“空”列表。这是因为p中每个列表中的第一个元素实际上引用了相同的内容,因此您有效地创

我有以下代码:
一个3X3的零矩阵
当我将“5”设置为矩阵的0,0元素时,
整列设置为“5”
我试着调试它,但我做不到

p = [[0]*3]*3
p[0][0] = 5
for i in p:
    print(i)

#prints:
#[5, 0, 0]
#[5, 0, 0]
#[5, 0, 0]

这是因为p中每个列表中的第一个元素实际上引用的是同一个东西,所以您已经有效地创建了别名。检查是否创建列表的“空”列表。

这是因为p中每个列表中的第一个元素实际上引用了相同的内容,因此您有效地创建了别名。查看创建列表的“空”列表