
[英]Get dictionaries in a list where the key:value pairs are in another list of dictionaries
[英]Include key:value pairs from a list of dictionary to their nested dictionaries to become a list of dictionaries [closed]
如何在嵌套字典的列表中包含key:value
对以使其成为简单的字典列表?
listDic = [
{key1: value1,
key2: {key3:value3, key4:value4}},
{key1: value5,
key2: {key3:value6, key4:value7}}]
listDicMod = [
{key1: value1,
key3: value3,
key4: value4},
{key1: value5,
key3: value6,
key4: value7}]
我对列表推导做的不多,也不知道如何在列表推导中组合字典。 其他人可能能够帮助解决这部分问题。 我对如何解决此类问题的想法是检查数据的类型,因为这就是您想要的行为的区别所在。
listDic = [
{"key1":"value1", "key2":{"key3":"value3", "key4":"value4"}},
{"key1":"value5", "key2":{"key3":"value6", "key4":"value7"}}
]
# Create empty list
listDicMod = []
for row in listDic:
# Create a dictionary for the row
row_dict = {}
for key in row:
# If it's a dictionary, go deeper into the data
if isinstance(row[key], dict):
for key2 in row[key]:
# Add this deeper data to the row_dict
row_dict[key2] = row[key][key2]
# Else, just add the key and value to the dictionary
else:
row_dict[key] = row[key]
listDicMod.append(row_dict)
print(listDicMod)
上面的片段输出(我已经稍微清理了输出)
[
{'key1': 'value1', 'key3': 'value3', 'key4': 'value4'},
{'key1': 'value5', 'key3': 'value6', 'key4': 'value7'}
]
如果您在列表理解之外创建字典,您可能可以像临时空间一样使用它,但这可能需要您listDic
中的每个项目都具有所有相同的键。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.