如何在一个类创建的字典中插入一个变量?



我想将变量x保存在字典中,然后为循环的每个元素打印它。

我使用这个代码test[row[0]].score_home.append(x)。我想把它作为最后一个值插入(就在score_away=[]之后)。

p。S:我不想在字典中存储多个x值。每个匹配项都有一个x,每个x只有一个值(只有1)

我得到这个错误:AttributeError: 'NoneType' object has no attribute 'append'
{'Minnesota-Vegas': Info_Matchs(championship='NHL', date=8.1, current_round=9, clock='15:00', score_home=[0, 1, 1, 5], score_away=[])

我希望得到这样的输出结果:

{'Minnesota-Vegas': Info_Matchs(championship='NHL', date=8.1, current_round=9, clock='15:00', score_home=[0, 1, 1, 5], score_away=[], x=1.75)

代码
test = {}
@dataclass
class Info_Matchs:
championship: str
date: float
round: int
clock: str
score_home: list[int]
score_away: list[int]
x: float
db = cursor_test.execute('''SELECT Next.team_home||"-"||Next.team_away, Next.tournmant,
Next.date, Next.round, Next.time,
Results.score_home
FROM Next
INNER JOIN Results
ON Next.team_home = Results.team_home;''')

for row in db.fetchall():
if row[0] not in test:
info = Info_Matchs(
championship=row[1],
date=row[2],
current_round=row[3],
clock=row[4],
score_home=list(),
score_away=list(),
x=None)
test[row[0]] = info
test[row[0]].score_home.append(row[5])
#HERE
for key, value in test.items():
calc = sum(value.score_home)
test[row[0]].x.append(calc)
print(test)
info = Info_Matchs(
championship=row[1],
date=row[2],
current_round=row[3],
clock=row[4],
score_home=list(),
score_away=list(),
x=None)

在这里你分配x作为None值,然后你试图通过附加到None值作为list

而不是这样做:

test[row[0]].x.append(calc)

x赋一个新值:

test[key].x = calc

相关内容

  • 没有找到相关文章