在列表python中插入元素

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

为什么使用此代码:

result_list = [[]]*14
result_list[3].append('sdfda')
print(result_list)

输出:

[['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda'], ['sdfda']]

但我希望:

[[], [], [], ['sdfda'], [], [], [], [], [], [], [], [], [], []]

我想按索引插入元素...但是此示例代码在列表的所有列表中插入元素

python arrays list multidimensional-array append
2个回答
0
投票
因为当您多次列出某个号码时,其含义是:接下来,当您修改任何一个号码时,所有号码都会被修改。这是Python语言的功能。如何避免这种经历?您可以像在下面的代码中一样,在列表中使用一个字符串进行循环:

0
投票
[当您写[x] * 3时,您基本上会得到列表[x,x,x]。也就是说,一个包含3个引用相同x的列表。然后,当您修改该单个x时,通过对它的所有三个引用都可以看到它。
© www.soinside.com 2019 - 2024. All rights reserved.