方法1:
实现一个函数,将一个字典按照键名分割成多个字典,并返回一个字典列表,其中每个字典都包含相同的键名。
代码示例:
def split_dict_by_keyname(original_dict): result = [] key_set = set(original_dict.keys()) for key in key_set: temp_dict = {} for k,v in original_dict.items(): if k == key: temp_dict[k] = v result.append(temp_dict) return result
original_dict = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4', 'key2_1': 'value2_1', 'key3_1': 'value3_1' }
result = split_dict_by_keyname(original_dict) print(result)
方法2:
使用 Python 中的 defaultdict 函数,将字典按键名分割成多个字典,并将每个字典放入一个列表中。这种方法不仅简单,而且速度也很快。
代码示例:
from collections import defaultdict
def split_dict_by_keyname(original_dict): result = defaultdict(list) for key, value in original_dict.items(): key_name = key.split('_')[0] # 将键名按照下划线分割,并取第一个值 result[key_name].append({key: value}) # 将键值对放到字典中,并加入到列表中,key_name 相同的字典会被放到同一个列表中 return result
original_dict = { 'key1': 'value1', 'key2': 'value2', 'key3': 'value3', 'key4': 'value4', 'key2_1': 'value2_1', 'key3_1': 'value3_1' }
result = split_dict_by_keyname(original_dict) print(result)
上一篇:按键名称对对象数组进行分组和聚合
下一篇:按键名过滤单个JSON