首页 > 解决方案 > 为什么追加追溯链接两个列表中的值?

问题描述

我正在初始化一个列表,然后更新其中的值,但是我用于初始化行的变量也正在追溯更新- 可以这么说。

我希望这段代码能输出[['first', ''], ['', 'last']]。如何更改我的代码以便输出?

array_row = ['', '']
array = []
# array = [['', '']]
array.append(array_row)
# array = [['first','']]
# array_row = ['first', '']  <---- !!! Why does array_row also get updated???
array[0][0] = 'first'
# array = [['first',''], ['first','']]
# array_row = ['first', '']
array.append(array_row)
# array = [['first','last'], ['first','last']]
# array_row = ['first', 'last']   <---- !!! Why does array_row also get updated???
array[1][1] = 'last'
# [['first', 'last'], ['first', 'last']]
print(array)

标签: pythonpython-3.x

解决方案


推荐阅读