我有一个文件,其中每行(带有标题)都存储为 int
记录 (highscores
)。
在我的Python项目中,我将记录读入一个数组,然后添加一条记录(只是一个int
),对数组进行排序(添加了新记录),然后用新记录(和标题 - 保持不变)
这是我为此使用的相关代码:
highscores = []
with open("highscore.txt", "r") as f:
f.readline() # Reads header
for line in f:
highscores.append(line.strip())
highscores.append(wins)
highscores = sorted(highscores, key=int, reverse=True)
# Print sorted highscores print to file
with open("highscore.txt", "w") as f:
for val in highscores:
print(val, file=f)
现在我有一个文件,其中每行都以 int/t string
形式存储记录(带有标题)。我在读取或排序带有元组的数组方面没有经验,并且不知道如何解决这个问题。谁能让我走上正确的道路或提供解决方案。
我想从我的文件中读取 int/t string
记录并将其放入 highscores
数组中。然后我想根据元组的第一个元素的 int
值对数组进行排序(假设我不采取其他方法)。然后用新的 highscore
记录覆盖该文件。
编辑:
我不应该在编写highscore.append(wins)
时,wins是一个整数变量,我想附加wins和名称(字符串作为我的变量)。
最佳答案
您不必做太多改变:
highscores = sorted(highscores, key=lambda s: int(s.split()[0]), reverse=True)
关键功能将占用您的线路s
。然后它会分割它,取出第一部分,然后将其转换为整数。
关于Python:根据第一个元素对数组中的元组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29987102/