Python中按百分比规则修改数字列表并保留原顺序的方法
解决方案
你的代码问题在于拆分列表后再合并,破坏了原列表的元素顺序。要保留顺序,只需要逐个遍历原列表的每个元素,根据条件计算对应的值,直接生成新的结果列表即可。
可以用列表推导式结合三元表达式实现,代码更简洁高效:
gross_list = [1350.50, 1240.25, 987.45, 1017.27, 870.9, 990.5] print("Gross income list:", gross_list) # 保留原顺序,按条件计算每个元素的新值 settlement_list = [i * 1.15 if i < 1000 else i * 1.12 for i in gross_list] print("Settlement:", settlement_list) payroll = sum(settlement_list) print("Payroll:", format(payroll, ".2f"))
代码说明:
i * 1.15等价于i + i*0.15,写法更简洁- 列表推导式遍历原列表的每个元素,按条件计算后直接加入新列表,完全保留原顺序
- 求和时直接使用新列表,无需合并两个拆分后的列表
输出结果:
Gross income list: [1350.5, 1240.25, 987.45, 1017.27, 870.9, 990.5] Settlement: [1512.56, 1389.08, 1135.5675, 1139.3424, 1001.535, 1139.075] Payroll: 7317.16
内容的提问来源于stack exchange,提问作者davidpal
相关产品推荐
相关产品推荐

