Pythondict.fromkeys公司()生成list()的副本,而不是

2024-06-07 16:25:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用dict.fromkeys()方法生成一个字典。我有一年list,我想把values分配给list object。问题是dict.fromkeys()生成列表的副本。所以,当我更新list的元素时,它会更新所有副本。在

>>> years=["1","2","3"]
>>> names=["a","b","c"]
>>> blank=[]
>>> names_in_years=dict.fromkeys(years,blank.copy())
>>> names_in_years
{'2': [], '4': [], '3': [], '1': []}
>>> names_in_years["2"].extend(names)
>>> names_in_years
{'2': ['a', 'b', 'c'], '4': ['a', 'b', 'c'], '3': ['a', 'b', 'c'], '1': ['a', 'b', 'c']}

我想更新dictionary对象,个人的结果如下:

^{pr2}$

有没有一种方法可以在一行中完成这项工作?在


Tags: 方法in元素列表字典objectnames副本
1条回答
网友
1楼 · 发布于 2024-06-07 16:25:37

就这么做吧

names_in_years["2"] = names_in_years["2"] + names

而不是笨重的

^{pr2}$

前者将新值赋给旧值,后者就地变异返回值。在处理更新键值时,赋值通常比就地变异更安全、更简单。在

相关问题 更多 >

    热门问题