Python新手求助:将指定字典转换为特定格式新字典的简洁实现方法
简洁实现方法(适合Python新手)
作为刚接触Python的同学,你可以用基础字典操作+字典推导的思路来完成这个需求,写法简洁易懂,不需要依赖额外库:
d = {'A1BB11': 10, 'B1CC55': 20, 'A1A11': 30, 'A1A21': 40, 'B1HH21': 50, 'C1KK88': 60} # 第一步:临时分组,统计每个前缀的总和与对应后缀列表 temp_group = {} for key, value in d.items(): # 拆分前缀(前2位)和后缀(剩余部分) prefix = key[:2] suffix = key[2:] # 初始化前缀对应的存储结构 if prefix not in temp_group: temp_group[prefix] = [0, []] # 累加数值,添加后缀 temp_group[prefix][0] += value temp_group[prefix][1].append(suffix) # 第二步:转换成目标格式的新字典 new_d = {f"{prefix}({total})": suffix_list for prefix, (total, suffix_list) in temp_group.items()} print(new_d) # 输出结果: # {'A1(80)': ['BB11', 'A11', 'A21'], 'B1(70)': ['CC55', 'HH21'], 'C1(60)': ['KK88']}
代码说明:
- 先用
temp_group临时存储每个前缀的累计总和和后缀列表,逻辑清晰,新手能一步步看懂分组过程; - 最后用字典推导式配合f-string快速生成目标格式的键,语法简洁符合Python风格;
- 如果你的前缀规则不是固定前2位,可以调整
key[:2]的切片逻辑(比如按特定字符拆分),这个写法扩展性很强。
内容的提问来源于stack exchange,提问作者Rahul
相关产品推荐
相关产品推荐

