Python 为每个字典键值指定键

Python 为每个字典键值指定键,python,python-3.x,list,dictionary,Python,Python 3.x,List,Dictionary,我运行这段代码将三个列表合并到一个字典中,第一个列表是键 list_dict = {x: (y, z) for x, y, z in zip_longest(order_instance, final_mem, final_disk)} pprint(list_dict) 它返回这个 {'instanceIndex:0': ('212590592', '192389120'), 'instanceIndex:1': ('5971968', '13963264'), 'instanceInd

我运行这段代码将三个列表合并到一个字典中,第一个列表是键

list_dict = {x: (y, z) for x, y, z in zip_longest(order_instance, final_mem, final_disk)}
pprint(list_dict)
它返回这个

{'instanceIndex:0': ('212590592', '192389120'),
 'instanceIndex:1': ('5971968', '13963264'),
 'instanceIndex:2': ('93331456', '216592384')}
我希望能够格式化此字典,以显示y和z值的键,从而更容易输入到SQL数据库中。像这样的

{'instanceIndex:0': ((Memory: '212590592'),
                      (Disk: '192389120')),
 'instanceIndex:1': ((Memory: '5971968'),
                      (Disk: '13963264')),
 'instanceIndex:2': ((Memory: '93331456'),
                      (Disk: '216592384'))}

您可以直接修改dict理解,以匹配您选择存储值的任何格式。在您的例子中,键值格式类似于
dict
ionary,所以请使用它

list_dict = {x: {'Memory':y, 'Disk':z} for x, y, z in zip_longest(order_instance, final_mem, final_disk)}
#               ^^^^^^^^^^  ^^^^^^^^ ^
您可以使用将数据存储为命名元组:

输出:

{'i1': Data(Memory='1', Disk='d1'),
 'i2': Data(Memory='2', Disk='d2'),
 'i3': Data(Memory='3', Disk='d3')}
您可以通过索引或名称访问命名元组:

print( k["i1"].Memory)   # 1 
print( k["i1"][1])       # d1

小调:
('Memory':'212590592')
而不是
(Memory:'212590592')
?最后一部分有一些无效语法。您想要嵌套字典还是元组?还有,你能展示一下到目前为止你都试了些什么吗?这看起来不太有效syntax@MadPhysicist原谅我。我有一阵子没练蟒蛇了。
print( k["i1"].Memory)   # 1 
print( k["i1"][1])       # d1