Skip to main content
 首页 » 编程设计

python之使用 operator * on list 创建独立的对象

2025年05月04日32txw1958

<分区>

我试图在不键入所有元素的情况下初始化一个二维 (3x3) 列表,因为它们都是相同的。

不过,好像只有这个矩阵的第一行才真正被创建为一个新对象,后面的几行只是对第一行的引用。

如何创建所有行都是独立的对象?

下面是一个例子来说明这一点:

# Create a bi-dimentional list 
a=[[''] * 3] * 3 
print a 
>>>[['', '', ''], ['', '', ''], ['', '', '']] 
 
# change a single element, on first line 
# notice that it will change also the elements at other lines 
a[0][1] = 'x' 
print a 
[['', 'x', ''], ['', 'x', ''], ['', 'x', '']]