以下是按照字典的键将列表中的字典分割的代码示例:
from collections import OrderedDict
def split_list_of_dicts(lst):
result = OrderedDict()
for d in lst:
for key, value in d.items():
if key not in result:
result[key] = []
result[key].append({key: value})
return list(result.values())
# 示例使用
list_of_dicts = [{'a': 1, 'b': 2}, {'b': 3, 'c': 4}, {'a': 5, 'c': 6}]
result = split_list_of_dicts(list_of_dicts)
print(result)
输出:
[[{'a': 1}, {'a': 5}], [{'b': 2}, {'b': 3}], [{'c': 4}, {'c': 6}]]
这个示例中,我们使用了collections模块中的OrderedDict来保持字典的插入顺序。我们首先创建一个空的OrderedDict对象result。然后遍历列表中的每个字典,对于每个字典,我们再次遍历其中的键值对。如果键不存在于result中,我们就将其作为新的键添加到result中,并将value作为字典的值添加到对应的键中。如果键已经存在于result中,我们就将value作为新的字典添加到对应的键中。
最后,我们将result中的值转换为列表并返回。这样做可以确保结果中的字典按照原始顺序排列,并且每个键的所有字典都被分组在一起。
上一篇:按照字典的键和值对数组进行排序
下一篇:按照字典的值将字典分组