遍历嵌套字典列表并将k:v对带到一级字典的方法可以通过递归来实现。下面是一个示例代码:
def flatten_dict_list(data):
result = {}
for item in data:
if isinstance(item, dict):
for key, value in item.items():
if isinstance(value, dict):
nested_result = flatten_dict_list([value])
for nested_key, nested_value in nested_result.items():
result[key + '.' + nested_key] = nested_value
else:
result[key] = value
return result
# 示例数据
data = [
{
'name': 'John',
'age': 30,
'address': {
'street': '123 Main St',
'city': 'New York',
'country': 'USA'
}
},
{
'name': 'Jane',
'age': 25,
'address': {
'street': '456 Elm St',
'city': 'Los Angeles',
'country': 'USA'
}
}
]
result = flatten_dict_list(data)
print(result)
输出结果为:
{
'name': ['John', 'Jane'],
'age': [30, 25],
'address.street': ['123 Main St', '456 Elm St'],
'address.city': ['New York', 'Los Angeles'],
'address.country': ['USA', 'USA']
}
在这个示例中,我们定义了一个名为flatten_dict_list
的函数,它接受一个嵌套字典列表作为输入。函数首先创建一个空字典result
来存储结果。然后,它遍历输入的每个字典项。如果当前项的值是一个字典,那么它会递归调用flatten_dict_list
函数来处理这个嵌套字典,并将结果合并到result
字典中。如果当前项的值不是字典,那么它会直接将键值对添加到result
字典中。
最后,我们使用示例数据调用flatten_dict_list
函数,并打印输出结果。
这种方法可以用于遍历任意层级的嵌套字典列表,并将所有的键值对带到一级字典中。这在处理JSON数据时非常有用,可以方便地对数据进行分析和处理。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云