![](/img/trans.png)
[英]Python appending values from one dictionary to another with the same keys
[英]Appending a dictionary of values to a dictionary of lists with same keys
我得到了一个值字典和一个列表字典
dict_v = {'A': 2, 'B': 3, 'C': 4}
&
dict_l = {'A': [1,3,4], 'B': [8,5,2], 'C': [4,6,2]}
我正在尝试将 append 的 dict_v 值转换为 dict_l 的值。 所以我希望它看起来像这样:
{'A': [1,3,4,2], 'B': [8,5,2,3], 'C': [4,6,2,4]}
我尝试了以下代码:
for key in dict_l:
if key in dict_v:
dict_v[key]=dict_l[key]+dict_v[key]
else:
dict_l[key]=stock_prices[key]
print(dict_v)
它给我一条错误信息
因为您要添加到列表中,所以您应该使用append()
方法添加到列表中
dict_v = {'A': 2, 'B': 3, 'C': 4}
dict_l = {'A': [1,3,4], 'B': [8,5,2], 'C': [4,6,2]}
for key in dict_v.keys():
dict_l[key].append(dict_v[key])
print(dict_l)
你可以 append 在这个意义上这样的列表
dict_v = {'A': 2, 'B': 3, 'C': 4}
dict_l = {'A': [1,3,4], 'B': [8,5,2], 'C': [4,6,2]}
for key in dict_l:
if key in dict_v:
dict_l[key] += [dict_v[key]]
print(dict_l)
变化是您将值dict_v[key]
作为列表[dict_v[key]]
附加并使用+=
将其附加到已经在dict_l[key]
中的条目。 这样你也可以将 append 多个值作为一个列表添加到一个已经存在的列表中。
这是我的回答:
dict_v = {'A': 2, 'B': 3, 'C': 4}
dict_l = {'A': [1,3,4], 'B': [8,5,2], 'C': [4,6,2]}
for key in dict_v:
if key in dict_l:
temp = dict_l[key]
temp.append(dict_v[key])
dict_l[key] = temp
else:
dict_l[key] = stock_prices[key]
print(dict_l)
因此,为了逻辑的缘故,我没有在 dict_l 中使用 for key,而是在 dict_v 中使用 for key。 我还将 dict_v 中的键值附加到 dict_l,但在您的代码中,您将 dict_l 中的键值附加到 dict_v,我更改了它。 希望能帮助到你!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.