Python:创建和更改列表

Python:创建和更改列表,python,list,Python,List,我正试图初始化一个列表,但随后我必须更改所述列表中的每个单元格。我做到了: matrix = [[[0] * len(t[0])] * len(t[0])] 但当试图更改一个单元格时,它会更改矩阵的整个列。这是为什么?是的,问题是您正在复制引用而不是创建新对象,要解决这个问题,您可以执行以下操作: matrix = [[0 for _ in xrange(len(t[0]))] for _ in range(len(t[0]))] len(t[0])是可变的,依赖于用户。唯一的问题在列表/矩

我正试图初始化一个列表,但随后我必须更改所述列表中的每个单元格。我做到了:

matrix = [[[0] * len(t[0])] * len(t[0])]

但当试图更改一个单元格时,它会更改矩阵的整个列。这是为什么?

是的,问题是您正在复制引用而不是创建新对象,要解决这个问题,您可以执行以下操作:

matrix = [[0 for _ in xrange(len(t[0]))] for _ in range(len(t[0]))]
len(t[0])是可变的,依赖于用户。唯一的问题在列表/矩阵上@DylanLawrence@raissa如果这个答案,请考虑点击在左边的检查标记/滴答,把它变成绿色。这标志着问题已解决,令您满意,并奖励您和回答者。