我的字典有问题,我想将其拆分成另外两个。
dico={'GA1': {'main': 1, 'middle': 1, 'sub': 1},
'GA2': {'main': 1, 'middle': 1, 'sub': 2},
'GA3': {'main': 1, 'middle': 1, 'sub': 3},
'GA4': {'main': 1, 'middle': 1, 'sub': 4},
'GA5': {'main': 1, 'middle': 1, 'sub': 5},
'GA6': {'main': 1, 'middle': 1, 'sub': 6},
'GA7': {'main': 1, 'middle': 1, 'sub': 7},
'GA8': {'main': 1, 'middle': 1, 'sub': 8},
'GA9': {'main': 1, 'middle': 1, 'sub': 9},
'GA10': {'main': 1, 'middle': 1, 'sub': 10}}
我想将 GA2 和 GA6 到 GA10 放入字典 d1 中,将 GA1 和 GA3 到 GA5 放入字典 d2 中。
当我将其转换为列表时,我最终得到的是像这样的元组,
list(dico.items())[0]
给出 ('GA1', {'main': 1, 'middle': 1, 'sub': 1}) 当我想将它设置到我的新词典中时,
d2 = {}
d2.update(list(dico.items())[0])
我最终得到“builtins.ValueError:字典更新序列元素#0 的长度为 3;需要 2”
字典是元组元素的无效格式吗?
谢谢你的帮助
亚历山大
最佳答案
你是这个意思吗?
d2.update([list(dico.items())[0]])
您可以使用元组列表 来初始化字典。您只提供了一个元组,而不是在列表中。使用 []
初始化单例列表并传递:
{'GA10': {'middle': 1, 'main': 1, 'sub': 10}}
此外,执行 list(dico.items())
然后取第 0 个元素是一种浪费。如果可以,请考虑改变解决问题的方法。
关于python - 字典更新序列元素 #0 的长度为 3;使用元组更新时需要 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44804109/