我想用这种形式的字典
a={'vladimirputin':{'milk': 2.87, 'parsley': 1.33, 'bread': 0.66},'barakobama':{'parsley': 0.76, 'sugar': 1.98, 'crisps': 1.09,'potatoes': 2.67, 'cereal': 9.21}}
d={}
p={}
a={'vladimirputin': {'milk': 2.87, 'parsley': 1.33, 'bread': 0.66}, 'barakobama':{'parsley': 0.76, 'sugar': 1.98, 'crisps': 1.09, 'potatoes': 2.67, 'cereal': 9.21}}
for key in a:
for product in a[key]:
price=a[key][product]
d[key]=price
p[product]=d
print(p)
并将其转化为
p={'milk': {'vladimirputin': 2.87}, 'cereal': {'barakobama': 9.21},'bread': {'vladimirputin': 0.66}, 'potatoes': {'barakobama': 2.67},'sugar': {'barakobama': 1.98}, 'parsley': {'vladimirputin': 1.33,'barakobama': 0.76}, 'crisps': {'barakobama': 1.09}}.
您可以这样做:
a = {'vladimirputin': {'milk': 2.87, 'parsley': 1.33, 'bread': 0.66}, 'barakobama':{'parsley': 0.76, 'sugar': 1.98, 'crisps': 1.09, 'potatoes': 2.67, 'cereal': 9.21}}
b = {}
for prez in a:
for food in a[prez]:
if food not in b:
b[food] = {prez: a[prez][food]}
else:
b[food][prez] = a[prez][food]
这给出了:
{'bread': {'vladimirputin': 0.66},
'cereal': {'barakobama': 9.21},
'crisps': {'barakobama': 1.09},
'milk': {'vladimirputin': 2.87},
'parsley': {'barakobama': 0.76, 'vladimirputin': 1.33},
'potatoes': {'barakobama': 2.67},
'sugar': {'barakobama': 1.98}}
解释:
您的输入词典a
将总裁姓名作为键。输出的词典需要食物作为键。
该语句if food not in b
检查特定食品是否已经是输出字典中的键。如果不是,它将创建一个新的字典作为值。就像在'sugar': {'barakobama': 1.98}
如果键在输出字典中已经存在,它将获取它并向其添加另一个键值对,例如 'parsley': {'barakobama': 0.76, 'vladimirputin': 1.33}
通过在代码中添加打印语句并b
在每个步骤中检查输出字典的值,可以找到如何编写进度的代码。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句