所以我有一個形式的元組串列:
my_list=[('a','aa','aaa',0),('a','aa','aab',1),('a','ab','aba',2)]
我需要它來將其轉換為嵌套字典:
out={'a':{'aa':{'aaa':0,'aab':1},'ab':{'aba':2}}}
我設定的關鍵部分是我事先不知道my_list 中元組的長度(4 只是一個例子)。有沒有一種簡單的方法來概括我在其他答案中看到的案例(例如Python 元組串列到嵌套 dict或將可變長度元組串列轉換為 Dictionary)超出他們使用的固定 3 元素元組?
我對遞回函式進行了各種嘗試,但我沒有任何接近解決方案的方法。
uj5u.com熱心網友回復:
只需遍歷第一個鍵,將最后一對將成為鍵值對的專案放在一邊,并在中間設定字典(setdefault在此處使用,但您可以手動完成該部分):
result = {}
for *keys, last_key, value in my_list:
current = result
for key in keys:
current = current.setdefault(key, {})
current[last_key] = value
只是為了明確地說“手動”的意思(我想我應該說“明確地”):
result = {}
for *keys, last_key, value in my_list:
current = result
for key in keys:
if key not in current:
current[key] = {}
current = current[key]
current[last_key] = value
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/527615.html
上一篇:如何反轉字串中的元音并回傳它
下一篇:如何解決這個def函式
