gpt4 book ai didi

python - 展平嵌套字典 - 将列表元素转换为字符串

转载 作者:行者123 更新时间:2023-12-02 04:27:05 25 4
gpt4 key购买 nike

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

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]

最佳答案

这有效:

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 这样的预定义术语

关于python - 展平嵌套字典 - 将列表元素转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60951636/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com