Python词典中的扁平化列表
如果我有这样的内容,如何在字典中列出平面列表:Python词典中的扁平化列表,python,list,dictionary,Python,List,Dictionary,如果我有这样的内容,如何在字典中列出平面列表: Object {'a': '48', 'b': '24', 'c':[{'cA':'20', 'cB':'42', 'cC':'55'}, {'c1':'21', 'c2':'43','c3':'58'}], 'd':'44', 'e':'32',} <p name = "a">48<\p> <p name = "b">24<\p> <l
Object {'a': '48',
'b': '24',
'c':[{'cA':'20', 'cB':'42', 'cC':'55'}, {'c1':'21', 'c2':'43','c3':'58'}],
'd':'44',
'e':'32',}
<p name = "a">48<\p>
<p name = "b">24<\p>
<list name ="C">
<item>
<cA>20<\cA>
<cB>42<\cB>
<cC>55<\cC>
<\item>
<item>
<c1>21<\c1>
<c2>43<\c2>
<c3>58<\c3>
<\item>
<\list>
<p name = "D">44<\p>
<p name = "e">32<\p>
这是已解析的XML文件,在XML C中具有如下结构:
Object {'a': '48',
'b': '24',
'c':[{'cA':'20', 'cB':'42', 'cC':'55'}, {'c1':'21', 'c2':'43','c3':'58'}],
'd':'44',
'e':'32',}
<p name = "a">48<\p>
<p name = "b">24<\p>
<list name ="C">
<item>
<cA>20<\cA>
<cB>42<\cB>
<cC>55<\cC>
<\item>
<item>
<c1>21<\c1>
<c2>43<\c2>
<c3>58<\c3>
<\item>
<\list>
<p name = "D">44<\p>
<p name = "e">32<\p>
假设您有固定的深度,并且包含平面字典,这是很多假设,我知道,您可以迭代输入dict并检查值的类型 如果值是列表,则使用列表中的项目更新输出dict,否则使用原始项目更新
d= {'a1': '48',
'b': '24',
'c':[{'cA':'20', 'cB':'42', 'cC':'55'}, {'c1':'21', 'c2':'43', 'c3':'58'}],
'd':'44',
'e':'32'}
new_d = {}
for k,v in d.items():
if isinstance(v,list):
for v1 in v:
new_d.update(v1)
else:
new_d[k] = v
结果:
{'c2': '43', 'a1': '48', 'c3': '58', 'b': '24', 'cC': '55', 'd': '44', 'cA': '20', 'cB': '42', 'e': '32', 'c1': '21'}
还有比这更深的吗?或者它只会像一本有字典列表的字典一样深奥?我希望你知道字典是没有顺序的generally@Hoopdady我已经编辑了我的评论