拼合嵌套字典 - 将列表元素转换为字符串

我有一个嵌套字典,其中最低级别由一个列表组成,每个列表都有一个元素。我想将此级别从列表更改为字符串。假设我有这样一本字典:

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]


泛舟湖上清波郎朗
浏览 92回答 1
1回答

肥皂起泡泡

这适用于: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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python