相关疑难解决方法(0)

如何克隆或复制列表?

在Python中克隆或复制列表有哪些选项?

在使用时new_list = my_list,每次都会对new_list更改进行任何修改my_list.为什么是这样?

python clone copy list

2289
推荐指数
16
解决办法
149万
查看次数

列表更改意外地反映在子列表中

我需要在Python中创建一个列表列表,所以我输入以下内容:

myList = [[1] * 4] * 3
Run Code Online (Sandbox Code Playgroud)

列表看起来像这样:

[[1, 1, 1, 1], [1, 1, 1, 1], [1, 1, 1, 1]]  
Run Code Online (Sandbox Code Playgroud)

然后我改变了最里面的一个值:

myList[0][0] = 5
Run Code Online (Sandbox Code Playgroud)

现在我的列表看起来像这样:

[[5, 1, 1, 1], [5, 1, 1, 1], [5, 1, 1, 1]]  
Run Code Online (Sandbox Code Playgroud)

这不是我想要或期望的.有人可以解释一下发生了什么,以及如何解决这个问题?

python list mutable nested-lists

576
推荐指数
10
解决办法
3万
查看次数

仅将字典的最新值添加到列表中

通过 for 循环创建字典列表

我一直在尝试通过 for 循环创建字典列表,代码如下所示

a=["x","y","z"]
b=[1,2,3]
dict1={}
superlist=[]
for i in range(0,len(a)):
    dict1['name']=a[i]
    dict1['values']=b[i]
    superlist.append(dict1)
Run Code Online (Sandbox Code Playgroud)

我期望的输出是 [{'name':'x', 'values':1},{'name':'y', 'values':2},{'name':'z', 'values':3}]

相反,我得到

[{'name':'z', 'values':3},{'name':'z', 'values':3},{'name':'z', 'values':3}].

我不太确定这里发生了什么,如果有人能解释并帮助我得到我想要的结果,那就太好了。

python dictionary

3
推荐指数
1
解决办法
1929
查看次数

标签 统计

python ×3

list ×2

clone ×1

copy ×1

dictionary ×1

mutable ×1

nested-lists ×1