gpt4 book ai didi

python - 在迭代时更新列表列表

转载 作者:行者123 更新时间:2023-11-30 22:58:23 25 4
gpt4 key购买 nike

我有一个列表列表,我想在迭代时更新每个列表。我按如下方式初始化了我的列表:

my_list = [[0]*n]*n

当我想更新内部列表时,例如:

for i in range(something):
for j in range(anotherthing):
my_list[i][j] = something

发生的情况是,每次迭代时都会更新整个列表,而不是仅更新第 i 个列表,例如[[1,2],[1,2]]。我想要的是在第一次迭代中初始化时为 [[1,2], [0,0]],然后为 [[1,2], [values]]。我做错了什么?

最佳答案

列表乘法运算符*不会创建副本,而是创建对同一数据的多个引用。考虑使用推导式来初始化列表,而不是使用 *:

my_list = [[0 for i in range(n)] for j in range(n)]

关于python - 在迭代时更新列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36214376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com