Python字典实现员工工作时间统计与分析
Python字典实现员工工作时间统计与分析
本文将介绍如何使用Python字典解决一个实际问题:统计和分析员工每周工作时间。
问题描述:
假设我们有一个表格记录了每位员工每周7天的工作时间,如下表所示:
| 姓名 | 星期天 | 星期一 | 星期二 | 星期三 | 星期四 | 星期五 | 星期六 ||-----------|--------|--------|--------|--------|--------|--------|--------|| Employee_0 | 2 | 4 | 3 | 4 | 5 | 8 | 8 || Employee_1 | 7 | 3 | 4 | 3 | 3 | 4 | 4 || Employee_2 | 3 | 3 | 4 | 3 | 3 | 2 | 2 || Employee_3 | 9 | 3 | 4 | 7 | 3 | 4 | 1 || Employee_4 | 3 | 5 | 4 | 3 | 6 | 3 | 8 || Employee_5 | 3 | 4 | 4 | 6 | 3 | 4 | 4 || Employee_6 | 3 | 7 | 4 | 8 | 3 | 8 | 4 || Employee_7 | 6 | 3 | 5 | 9 | 2 | 7 | 9 |
我们需要解决以下问题:
- 选择合适的数据结构存储员工及其工作信息。2. 统计每个雇员的总工作时间,并按照总工作时间降序的方式显示雇员姓名及其总工时。3. 找出在行中最大的数且也是列中最大的数,代表'某员工在某天工作时间最长',并按如下格式显示:'XXX 员工 星期 X 工作XX小时!',如:'Employee_3 员工星期天工作9小时!'
解决方案:
我们可以使用Python字典来存储和处理这些数据。
**代码实现:**pythondata = { 'Employee_0': [2, 4, 3, 4, 5, 8, 8], 'Employee_1': [7, 3, 4, 3, 3, 4, 4], 'Employee_2': [3, 3, 4, 3, 3, 2, 2], 'Employee_3': [9, 3, 4, 7, 3, 4, 1], 'Employee_4': [3, 5, 4, 3, 6, 3, 8], 'Employee_5': [3, 4, 4, 6, 3, 4, 4], 'Employee_6': [3, 7, 4, 8, 3, 8, 4], 'Employee_7': [6, 3, 5, 9, 2, 7, 9]}
统计每个雇员的总工作时间total_hours = {}for employee, hours in data.items(): total_hours[employee] = sum(hours)
按照总工作时间降序排序并打印结果sorted_hours = sorted(total_hours.items(), key=lambda x: x[1], reverse=True)print('员工总工时排名:')for employee, hours in sorted_hours: print(f'{employee} 总工时: {hours}')
找出在行中最大的数且也是列中最大的数max_value = 0row_index = 0col_index = 0for i, hours in enumerate(data.values()): for j, hour in enumerate(hours): if hour > max_value: max_value = hour row_index = i col_index = j
根据索引找到对应的雇员姓名和星期几,并打印结果employees = list(data.keys())days = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六']employee_name = employees[row_index]day_name = days[col_index]print(f'{employee_name} 员工 {day_name} 工作 {max_value} 小时!')
代码解读:
- 数据存储: 我们使用字典存储数据,每个键值对表示一个员工及其工作时间列表。2. 计算总工时: 使用
sum()函数计算每个员工的总工作时间,并将结果存储在total_hours字典中。3. 排序: 使用sorted()函数对total_hours字典按照值(总工时)进行降序排序。4. 查找最大值: 使用嵌套循环遍历所有工作时间,记录最大值及其行列索引。5. 格式化输出: 根据索引找到对应的员工姓名和星期几,并使用f-string格式化输出结果。
希望本文能帮助你理解如何使用Python字典解决实际的数据处理问题。
原文地址: https://www.cveoy.top/t/topic/dRl8 著作权归作者所有。请勿转载和采集!