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

将列表变量传入Python类函数时仅获取CSV最后一条数据的问题

问题分析与解决

核心问题

  1. 方法缩进错误:GetRoster函数没缩进在Team类内部,不属于类的实例方法,运行时会报错找不到该方法。
  2. 未收集所有球员:循环里每次用player = p[1]覆盖之前的值,最后只保留了最后一个球员的名字,没把所有球员存入列表。

修正后的代码

import csv

class Team:
    def __init__(self, roster):
        self.roster = roster

    # 缩进调整:该方法属于Team类
    def GetRoster(self):
        return self.roster  # 直接返回列表,按需格式化即可

# 收集所有球员姓名到列表
player_list = []
with open('CavsRoster.csv', newline='') as f:
    reader = csv.reader(f)
    for p in reader:
        # 每行索引1的元素是球员姓名,添加到列表
        player_list.append(p[1])

# 把球员列表传入Team实例
cavs = Team(player_list)
# 输出所有球员
print(cavs.GetRoster())

代码说明

  • 先初始化空列表player_list,循环读取CSV每行数据时,将球员姓名(p[1])追加到列表,实现所有球员的收集。
  • 修正GetRoster的缩进,使其成为Team类的方法;如果需要每行显示一个球员,可以把返回语句改成return '\n'.join(self.roster)。
  • 最后将完整的球员列表传入Team构造函数,就能通过实例获取所有球员数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:27:04