繁体   English   中英

将值字典附加到具有相同键的列表字典

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM