我有一个字典列表如下:
lst = [{'unitname':'unit1', 'test1': 2, 'test2': 9}, {'unitname':'unit2', 'test1': 24, 'test2': 35}]
如何按如下方式构造单个字典:
dictA = { ('unit1','test1'): 2, ('unit1','test2'): 9, ('unit2','test1'):24, ('unit2','test2' : 35 }
`
我在列表中列出了所有单元名称和测试名称:
unitnames = ['unit1','unit2']
testnames = ['test1','test2']
我试过了,但错过了一些单元的测试。
dictA = {}
for unit in unitnames:
for dict in lst:
for k,v in dict.items():
dictA[unit,k] = v
建议?谢谢。
最佳答案
dict(((d['unitname'], k), t)
for d in lst
for (k, t) in d.iteritems()
if k != 'unitname')
关于Python:如何从键值字典列表构造元组值字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5388962/