Python:如何从键值字典列表构造元组值字典?

标签 python list dictionary tuples

我有一个字典列表如下:

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/

相关文章:

python - 根据条件创建新的 Pandas 列,但不会生成值

python - _tkinter.TclError : no display name and no $DISPLAY environment variable

python - 如何将数字设置为小数点后4位

python - 比较 Python 中两个列表中的值

python:从字典调用构造函数?

python - 无法将 Chrome 按钮与 Selenium 一起使用

java - List<String> @Test 从最后一个索引中删除 null

java - 如果输入 ListArray 为空,则返回空列表 [删除]

data-structures - 多键查找数据结构

python - 如何按值唯一化字典?