我有我通過迭代,並以一定的方式附加這樣一個空的字典嵌套元組的一個長長的清單:填充嵌套的字典
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添加了進一步的改進。希望能幫助到你! –