用乘法生成列表是否会产生引用[重复]

问题描述 投票:0回答:1

当我这样做时:

cand = [ [ 0, 0 ] ] * 4

随后:

cand[0][0] = 99

我得到:

[[99, 0], [99, 0], [99, 0], [99, 0]]

乘法只是复制列表引用吗?有没有办法拥有不同的列表?

python list
1个回答
4
投票

它创建对同一对象的四个引用。为了解决这个问题,您必须创建四个单独的列表:

cand = [[0, 0] for _ in range(4)]
© www.soinside.com 2019 - 2024. All rights reserved.