2 回答

TA贡献1921条经验 获得超9个赞
您可以直接修改您的 dict-comprehension 以匹配您选择存储值的任何格式。在您的情况下,您的键值格式类似于dict离子 - 所以使用它。
list_dict = {x: {'Memory':y, 'Disk':z} for x, y, z in zip_longest(order_instance, final_mem, final_disk)}
# ^^^^^^^^^^ ^^^^^^^^ ^

TA贡献1712条经验 获得超3个赞
您可以使用命名元组collections.namedtuples存储您的数据:
from itertools import zip_longest
from collections import namedtuple
from pprint import pprint
inst = ["i1","i2","i3"]
memo = ["1","2","3"]
disk = ["d1","d2","d3"]
Data = namedtuple("Data", ["Memory","Disk"])
k = {x: Data(m,d) for x, m, d in zip_longest(inst,memo,disk)}
pprint(k)
输出:
{'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
添加回答
举报