我有一本字典,列表中包含值。但我想将它们从 list
更改为正常的 dict
值。
所以它看起来像这样:
{1: {'A': { 1: [5], 16: [5], 17: [4],
20: [9], 22: [5], 26: [4],
33: [2], 34: [4], 42: [2],
47: [4], 72: [4], 80: [2]}}}
这是预期的输出:(删除方括号)
{1: {'A': { 1: 5, 16: 5, 17: 4,
20: 9, 22: 5, 26: 4,
33: 2, 34: 4, 42: 2,
47: 4, 72: 4, 80: 2}}}
这些就像我的实际数据的摘录,大致如下所示。因此,每个 dict
中都有一组这些数据(总共 3*3=9)
{1: {"A": {}, "B": {}, "C":{}},
2: {"A": {}, "B": {}, "C":{}},
3: {"A": {}, "B": {}, "C":{}}}
我看到很多其他问题将 list
转换为 dict
中的值。但我正在尝试做相反的事情(将我的值更改为正常值而不是在 list
中)
如果您看到其他有类似问题的线程并且可以指导我解决这些问题,那就太好了。
最佳答案
您需要迭代内部字典,并获取每个列表中的索引 0
# solution for your specific case
values = {1: {'A': {1: [5], 16: [5], 17: [4], 20: [9], 22: [5], 26: [4],
33: [2], 34: [4], 42: [2], 47: [4], 72: [4], 80: [2]}}}
values = {1: {'A': {k: v[0] for k, v in values[1]['A'].items()}}}
以及任何三级字典的通用代码
values = {
outerKey: {
innerKey: {k: v[0] for k, v in innerDict.items()}
for innerKey, innerDict in outerDict.items()
} for outerKey, outerDict in values.items()
}
关于python - 将 dict 中的列表作为值更改为 dict 中的正常值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69003750/