如何在Python中高效创建字典的字典?批量处理多字典方案
实现方法
当然可以实现,针对批量字典的场景,推荐以下两种高效便捷的方式:
方法一:字典推导式 + enumerate
把所有待合并的字典放进一个列表,利用enumerate生成从1开始的序号作为键:
d1 = {'a': 1, 'b': 2} d2 = {'a': 3, 'b': 4} d3 = {'a': 5, 'b': 6} # 所有待合并字典存入列表,数量再多只需添加到这里 dict_list = [d1, d2, d3] # 生成目标字典,enumerate默认从0开始,i+1得到1、2、3...的键 new_dict = {i+1: dic for i, dic in enumerate(dict_list)} print(new_dict) # 输出:{1: {'a': 1, 'b': 2}, 2: {'a': 3, 'b': 4}, 3: {'a': 5, 'b': 6}}
方法二:dict() + zip()
通过range生成从1开始的键序列,和字典列表配对后直接转成字典:
dict_list = [d1, d2, d3] # range(1, len(dict_list)+1)生成1到n的整数序列,与字典列表一一对应 new_dict = dict(zip(range(1, len(dict_list)+1), dict_list))
这两种方法都能轻松处理任意数量的字典,只需维护存放字典的列表即可,无需手动逐个指定键值对。
内容的提问来源于stack exchange,提问作者Carlos Gouveia
相关产品推荐
相关产品推荐

