这里是非常新的 python 程序员。
我试图获取一个人名和信息列表(在本例中为棒球运动员),并根据这些字符串中的其他信息为每个具有属性的球员创建一个不同的对象。因此,例如,我将以下人员列表存储在名为 my_players 的列表中(当然,我的实际玩家列表要长得多):
SS Derek_Jeter Yankees
P Johan_Santana Mets
C Ivan_Rodriguez Tigers
我想创建 Player 类的对象,其中 Player 定义为:
class Player():
def __init__(self,full_name,pos,team_name):
self.name = full_name
self.position = pos
self.team = team_name
但我不想手动创建每个对象,我想使用一个 for 循环,对于 my_players 中的每个字符串,使用字符串中的第二个单词作为对象的名称,然后是三个字符串的一部分作为属性。也就是说,我需要一个名为 Derek_Jeter 且属性为 Derek_Jeter、SS、Yankees 的对象,以及另一个名为 Johan_Santana 的对象和另一个名为 Ivan_Rodriguez 的对象,但我不想将这些对象名称中的每一个都输入到我的代码中。如何以这种方式创建对象?
请您参考如下方法:
给你:
content = """SS Derek_Jeter Yankees
P Johan_Santana Mets
C Ivan_Rodriguez Tigers"""
lines = content.split("\n")
players = []
for x in lines:
pos, name, team = x.split(' ')
players.append( Player(name, pos, team) )
# players is a list of the Player objects
