我有一個嵌套字典,其中最低級別由一個列表組成,每個列表都有一個元素。我想將此級別從列表更改為字符串。假設我有這樣一本字典:dict = {id1:{'key11':['value11'],'key12':['value12']}, id2:{'key21':['value21'],'key22':['value22']}}如何獲得:dict = {id1:{'key11': 'value11','key12':'value12'}, id2:{'key21':'value21','key22':'value22'}}附加問題:如果鍵和值不遵循某個邏輯,但每個元素都是唯一的,并且您有很多元素,則解決方案如何變化;如以下示例所示:dictionary = {'ida':{'abc':['def'],'fgh':['ijk'] (...)}, 'idb':{'lmn':['opq'],'rst':['uvw']} (...)}謝謝?。∽⒁猓何抑缘玫竭@個結構,是因為我之前在代碼中使用了列表/映射結構,從產生列表值的XML文件中提取文本。get_text = lambda x: x.text
content = [list(map(get_text, i)) for i in content]
1 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
這適用于:
dictionary = {'id1':{'key11':['value11'],'key12':['value12']}, 'id2':{'key21':['value21'],'key22':['value22']}}
new_dict = {key: {key1:value1[0] for key1, value1 in value.items()} for key, value in dictionary.items()}
new_dict
#{'id1': {'key11': 'value11', 'key12': 'value12'},
# 'id2': {'key21': 'value21', 'key22': 'value22'}}
另外,我不會使用預定義的術語,如dict
添加回答
舉報
0/150
提交
取消