首页 > 解决方案 > 为大量数据创建实例名称的最简单方法是什么

问题描述

我对 Python 很陌生,对面向对象编程有一点了解。下面是我的代码的摘录,它确实按预期工作,但是我只是想知道是否有更容易通过使用循环将团队名称存储为实例。

如果我想将世界上的每个团队(211 个团队)添加为单独的实例,这将需要很长时间。Panda 正在读取的 excel 文件包含所有团队名称和统计数据。

import pandas as pd
fixtures = pd.read_excel(r'C:\Users\Alex\Desktop\Python\Football\Fixtures.xlsx')

class Team():
    def __init__(self, win, draw, loss, gf, ga):
        self.win = win
        self.draw = draw
        self.loss = loss
        self.gf = gf
        self.ga = ga
        self.points = win*3 + draw
        self.games = win + draw + loss


wins = list(fixtures['Won'])
draws = list(fixtures['Drawn'])
losses = list(fixtures['Lost'])
scored = list(fixtures['GF'])
conceded = list(fixtures['GA'])

Arsenal = Team(wins[0], draws[0], losses[0], scored[0], conceded[0])

Aston_Villa = Team(wins[1], draws[1], losses[1], scored[1], conceded[1])

Brighton = Team(wins[2], draws[2], losses[2], scored[2], conceded[2])

Burnley = Team(wins[3], draws[3], losses[3], scored[3], conceded[3])

Chelsea = Team(wins[4], draws[4], losses[4], scored[4], conceded[4])

Crystal_Palace = Team(wins[5], draws[5], losses[5], scored[5], conceded[5])

Everton = Team(wins[6], draws[6], losses[6], scored[6], conceded[6])

Fulham = Team(wins[7], draws[7], losses[7], scored[7], conceded[7])

ETC....

标签: pythonoop

解决方案


你不。你用字典。


teams = {
'Arsenal': Team(wins[0], draws[0], losses[0], scored[0], conceded[0]),
'Aston_Villa': Team(wins[1], draws[1], losses[1], scored[1], conceded[1]),
}


推荐阅读