列表始终显示相同的结果Python

问题描述 投票:1回答:1

我需要我的代码帮助,对这个简单的问题感到抱歉,因为我对python非常陌生,尤其是在上市方面。因此,我想要的结果是这两个名称将出现在排行榜中。 (将来它将在文本文件中具有更多名称)因此,谁能帮助我在列表中显示其他名称,谢谢。

scoring = {"Name": "", "WinStreak": 0}
leaderboard = []
count = 0
tester = 0

with open("testing2.txt", "r") as fileText:
    for line in fileText:
        scoring["Name"] = line.split()[0]
        winning = int(line.split()[2])
        scoring["WinStreak"] = winning
        leaderboard.append(scoring)


for display in leaderboard:
    print(display["Name"], "-", display["WinStreak"])

testing2.txt

John , 2
Michael , 3

实际结果

Michael - 3
Michael - 3

预期输出

John - 2
Michael - 3
python list dictionary
1个回答
0
投票

您正在更改循环之前创建的同一词典。试试:

with open("testing2.txt", "r") as fileText:
    for line in fileText:
        name = line.split()[0]
        winning = int(line.split()[2])
        leaderboard.append({"Name": name, "WinStreak": winning})
© www.soinside.com 2019 - 2024. All rights reserved.