You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算含字符串格式薪资的字典中薪资平均值?

计算带千分位逗号的薪资字典平均值

核心问题是把带逗号的字符串薪资转成数值类型,再计算平均值,以下是具体实现:

方法1:用map函数处理

先写个转换函数,去掉字符串里的千分位逗号再转成整数,再用map批量处理所有薪资值:

salaries = { "Ben" : '82,500', "Bob" : '83,750', "Mike": '90,000', "Ann" : '89,000', "Sue" : '80,000' }

def str_to_salary(s):
    return int(s.replace(',', ''))

# 转换所有薪资为整数列表
salary_nums = list(map(str_to_salary, salaries.values()))
# 计算平均值
average = sum(salary_nums) / len(salary_nums)
print(average)  # 输出 85050.0

方法2:用列表推导式(更简洁)

不想单独写转换函数的话,直接用列表推导式一步完成转换:

salaries = { "Ben" : '82,500', "Bob" : '83,750', "Mike": '90,000', "Ann" : '89,000', "Sue" : '80,000' }

salary_nums = [int(salary.replace(',', '')) for salary in salaries.values()]
average = sum(salary_nums) / len(salary_nums)
print(average)

关于之前map失败的原因

直接用int()转换带逗号的字符串会触发ValueError,必须先通过replace(',', '')去掉千分位逗号,再做类型转换。把这个逻辑放进map的处理函数里,就能正常运行了。

内容的提问来源于stack exchange,提问作者papadum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 21:10:28