【发布时间】:2020-11-12 01:53:44
【问题描述】:
我有一个相当深刻的 dict 需要简化。我这样做也遇到了一些问题。
这里是需要简化的字典的一个小样本:
data_dict = {
"DATA": {
"Page1": [{
"Section": [{
"Name": [{
"text": "John"
}],
"ID_Number": [{
"text": "123456"
}]
}]
}],
"Page2": [{
"Section": [{
"Name": [{
"text": "Rob"
}],
"ID_Number": [{
"text": "654321"
}]
}]
}]
}
}
我已经做了什么:
my_dict = {}
for value in data_dict.values():
for key, val in value.items():
if "Tab" in key:
my_dict[key] = val
if type(val) == list:
for i in val:
for key1, val1 in i.items():
my_dict[key] = val1
result_dict = {}
page_list = []
for keys, values in my_dict.items():
for val in values:
if type(val) != str:
for key1, val1 in val.items():
for x in val1:
result_dict[key1] = x.get('text')
page_list.append(result_dict)
my_dict[keys] = page_list
print("my_dict = ", my_dict)
当前结果:
my_dict = {'Page1': [{'Name': 'Rob', 'ID_Number': '654321'}, {'Name': 'Rob', 'ID_Number': '654321'}, {'Name': 'Rob', 'ID_Number': '65432
1'}, {'Name': 'Rob', 'ID_Number': '654321'}], 'Page2': [{'Name': 'Rob', 'ID_Number': '654321'}, {'Name': 'Rob', 'ID_Number': '
654321'}, {'Name': 'Rob', 'ID_Number': '654321'}, {'Name': 'Rob', 'ID_Number': '654321'}]}
问题是result_dict 被多次附加到page_list,这是不必要的。另外,我的方法非常混乱。有没有更简洁的方法来获得相同的结果?
想要的结果:
my_dict = {"Page1": [{"Name": "John", "ID_Number": "123456"}], "Page2": [{"Name": "Rob", "ID_Number": "654321"}]}
【问题讨论】:
标签: python dictionary data-manipulation