修改矩阵的最后一个元素会修改矩阵中每个数组的最后一个元素

时间:2021-02-20 20:02:43

标签: python

我尝试在 Python3 中设置 2d 矩阵的最后一个元素,但它将最后一个数组的最后一个元素设置为整数,而将最后一个元素设置为字符。是原始数据类型引用了数组,还是有某种原因/引用来解释为什么会发生这种情况?

带字符:

abc = [['a','b','c'], ['d', 'e', 'f'], ['g', 'h', 'i']]
abc[-1]
['g', 'h', 'i']
abc[-1][-1]
'i'
abc[-1][-1] = 'z'
[['a', 'b', 'c'], ['d', 'e', 'f'], ['g', 'h', 'z']]

带整数:

dp = [[0] * 7] * 3
dp
[[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]]
dp[-1][-1] = 1
[[0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 1], [0, 0, 0, 0, 0, 0, 1]]

0 个答案:

没有答案