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

如何实现read_workers函数从workers.txt提取姓名与部门并返回列表?

实现read_workers函数的完整方案

需求回顾

  • 函数read_workers接收文件名参数,读取workers.txt中的员工信息
  • 返回两个列表:第一个列表存储员工全名(名+姓),第二个列表存储对应部门,需严格保留文件中的顺序
  • 目标文件格式:每个员工信息占两行(Name:和Department:开头),空行分隔不同员工

完整代码实现

def read_workers(filename):
    names = []
    departments = []
    
    with open(filename) as file:
        # 读取所有行并过滤空行(去除首尾空白后为空的行)
        lines = [line.strip() for line in file if line.strip()]
        
        # 每两行对应一个员工,按步长2遍历处理
        for i in range(0, len(lines), 2):
            # 提取姓名:分割冒号后取后半部分,清理空白
            name = lines[i].split(':')[1].strip()
            names.append(name)
            
            # 提取部门:同姓名提取逻辑
            dept = lines[i+1].split(':')[1].strip()
            departments.append(dept)
    
    return names, departments

代码逻辑说明

  1. 过滤无效行:用列表推导式读取文件所有行,同时过滤掉空行(包括只含空格的行),避免后续处理空内容
  2. 批量处理员工信息:因为每个员工的姓名和部门各占一行,所以用range(0, len(lines), 2)以步长2遍历,每次处理一组员工的两行数据
  3. 解析内容:通过split(':')分割每行内容,取冒号后的部分,再用strip()去除前后空白,得到干净的姓名和部门字符串
  4. 填充结果列表:将解析后的姓名和部门分别添加到对应的列表中,最终返回两个列表

测试验证

调用函数后,返回的结果如下:

  • names列表:["Richard White", "Jane Oliver", "Kim Note", "John Lee", "Jennifer Six", "Maria Cruz"]
  • departments列表:["Marketing", "Research", "Human Resources", "Human Resources", "Production", "Production"]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:32:09