gpt4 book ai didi

python - 用于将字典值转换为单独字典的单行

转载 作者:行者123 更新时间:2023-12-03 20:26:08 28 4
gpt4 key购买 nike

我有一个字典 dict1,它的值也是字典

dict1 = 
{
0: {'test1': ['pass', 'pass']},
1: {'test2': ['fail', 'pass']},
2: {'test3': ['fail', 'fail']},
3: {'test4': []},
4: {'test5': ['pass']},
5: {'test6': ['pass', 'pass']}
}

我想把它的值作为一个单独的字典 dict2,我试过这样
dict2 = {k:v for k,v in dict(dict1.values()).items()}

我在下面收到错误
ValueError: dictionary update sequence element #0 has length 1; 2 is required

预期产出
dict2 =
{
'test1': ['pass', 'pass'],
'test2': ['fail', 'pass'],
'test3': ['fail', 'fail'],
'test4': [],
'test5': ['pass'],
'test6': ['pass', 'pass']
}

任何帮助表示赞赏

最佳答案

你可以 *splat dict 值到 chain map :

>>> from collections import ChainMap
>>> dict(ChainMap(*dict1.values()))
{'test6': ['pass', 'pass'],
'test5': ['pass'],
'test4': [],
'test3': ['fail', 'fail'],
'test2': ['fail', 'pass'],
'test1': ['pass', 'pass']}

实际上,链映射也是一种映射(类似于 dict 的 API),因此您可能根本不需要外部 dict 调用。如果您想保留顺序,那么将值放入 reversed .

关于python - 用于将字典值转换为单独字典的单行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60879408/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com