【发布时间】:2019-08-28 16:52:00
【问题描述】:
我有一个字典列表:
my_list = [
{
'key1': 'value1',
},
{
'key2': 'value2',
},
]
我想像这样将列表相乘:
my_new_list = [
{
'key1': 'value1',
},
{
'key2': 'value2',
},
{
'key1': 'value1',
},
{
'key2': 'value2',
},
]
我尝试了my_list * 2 方法,但它会创建浅拷贝,这意味着如果我修改一个字典,它最终会修改列表中的许多其他字典。我想我正在寻找一个深层副本。
我也试过这个:
my_new_list = [my_list[i % len(my_list)] for i in range(4)]
但同样的问题。
这种方法有效,但对我来说感觉不是很pythonic,这就是为什么我正在寻找更好的答案。
from copy import deepcopy
my_new_list = [deepcopy(my_list[i % len(my_list)]) for i in range(4)]
如何创建这个深拷贝乘数列表?
【问题讨论】:
-
怎么样 my_new_list = deepcopy(my_list) + deepcopy(my_list) 使用 deepcopy,并给出您要求的顺序。