python - 为大量数据创建实例名称的最简单方法是什么
问题描述
我对 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....
解决方案
你不。你用字典。
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]),
}
推荐阅读
- android - 我在将片段替换到另一个片段并查看视图时遇到问题,但我的问题是它与视图重叠,请帮助我?
- json - 谷歌 JSON 风格指南的替代品?
- azure - 表存储分区键可以更新吗?
- reactjs - React 在测试时不会重新渲染状态变化
- c - “错误:在 Mac 上配置 NetCDF 时隐式声明库函数 'exit' with type”
- ios - 在“Stripe”集成时,类型“FundsVC”不符合 Swift 中的协议“STPAddCardViewControllerDelegate”
- docker - Dockerfile 和 Jenkinsfile - COPY 存储库
- button - 如何:SwiftUI 按钮 + CustomStyle + ContextMenu?
- java - jaxb2 版本 2 不允许使用 StaleFile 元素
- c# - Blazor 更新组件 foreach 循环内的 UI