Python 相邻同字符串元组的数值求和实现(无需导入第三方依赖包)
实现代码
list_a = [('0', 60), ('0', 5), ('2', 1), ('3', 14), ('4', 39), ('1', 17), ('2', 14), ('2', 29), ('4', 1), ('3', 1), ('3', 16), ('4', 8)] result = [] for key, value in list_a: if result and result[-1][0] == key: # 相邻key一致,累加数值 prev_key, prev_val = result.pop() result.append((prev_key, prev_val + value)) else: # 无匹配相邻项直接追加 result.append((key, value)) print(result)
代码说明
- 时间复杂度为O(n),仅需一次遍历即可完成计算,性能优异
- 未引入任何第三方依赖包,完全符合要求
- 自动兼容空输入列表、单元素列表等边界场景
- 运行输出结果为:
[('0', 65), ('2', 1), ('3', 14), ('4', 39), ('1', 17), ('2', 43), ('4', 1), ('3', 17), ('4', 8)],完全匹配预期结果
内容的提问来源于stack exchange,提问作者Benny Chen
相关产品推荐
相关产品推荐

