我有我通过迭代,并以一定的方式附加这样一个空的字典嵌套元组的一个长长的清单:填充嵌套的字典
dict = {}
将充满这样的:
dict = {a: {b:1,5,9,2,3}, b: {c:7,4,5,6,2,4}, c: {b:3,13,2,4,2}... }
迭代将检查嵌套字典是否存在,如果是,则会附加值,否则,创建一个嵌套字典。我可怜的企图看起来是这样的:
longlist = [(1,(a,b)),(2,(b,c)), (3,(c,b)) ... ]
dict = {}
for each in longlist:
if dict[each[1][0]][each[1][1]]:
dict[each[1][0]][each[1][1]].append(each[0])
else:
dict[each[1][0]] = {}
dict[each[1][0]][each[1][1]] = each[0]
请记住,这是一个简化版本,所以我有比值A,B,C,1,2,3在我的现实世界版本的更多。
我的方法存在的问题是,迭代失败,因为字典是空的开始或巢的父母不存在于字典中。对我而言,这变得越来越复杂。我无法在网上找到关于如何处理嵌套字典的大量信息,所以我认为在这里问问应该没问题。我需要帮助。
'字典= {a:{b:1,5,9,2,3},b:{c:7,4,5,6,2,4},c:{b:3,13,2,4,2} ...]':你能否澄清一下这是如何形成的:'[(1,(a,b)),(2,(b,c)),(3,(c,b))] ''如果你可以清楚我可以帮忙解决问题, – crazyGamer
看看'(1,(a,b))',迭代将创建'a:{}'和'b:{}',变成'a:{b:{}}',然后再追加1,得到'a:{b:{1}}'。例如,因为这是如何的原因l世界版本结束,我正在处理数百个数据:/ –
@JosephKim添加了进一步的改进。希望能帮助到你! –