求助:Python中基于员工名单匹配实现两月薪资差值计算
员工月度薪资差值计算实现
针对员工列表顺序完全对应的场景
由于你提到两个月的员工列表名称对应顺序相同,可以直接用zip()函数将对应位置的员工姓名、薪资打包,循环计算差值并格式化输出:
salary_month_1 = [232, 432] employee_list_month_1 = ['elly', 'john'] employee_list_month_2 = ['elly', 'john'] salary_month_2 = [540, 655] # 遍历配对后的元素,计算并生成结果字符串 for emp, sal1, sal2 in zip(employee_list_month_1, salary_month_1, salary_month_2): diff = sal2 - sal1 print(f"{emp} ({sal2} - {sal1}) = {diff}")
运行后会输出:
elly (540 - 232) = 308 john (655 - 432) = 223
通用场景(员工顺序可能不一致)
实际处理Excel文件时,两个月的员工排序可能不同,这时用字典做薪资映射更可靠:
salary_month_1 = [232, 432] employee_list_month_1 = ['elly', 'john'] employee_list_month_2 = ['john', 'elly'] # 示例:员工顺序变动 salary_month_2 = [655, 540] # 构建第一个月的员工-薪资映射字典 month1_salary_map = dict(zip(employee_list_month_1, salary_month_1)) # 遍历第二个月的员工和薪资,匹配计算差值 for emp, sal2 in zip(employee_list_month_2, salary_month_2): sal1 = month1_salary_map[emp] diff = sal2 - sal1 print(f"{emp} ({sal2} - {sal1}) = {diff}")
这个方法不受员工顺序影响,更适配实际业务场景。
内容的提问来源于stack exchange,提问作者user17713444
相关产品推荐
相关产品推荐

