У меня был файл с записями (highscores
), хранящийся как int
на каждой строке (с заголовком).Python: Сортировка кортежей в массиве на основе первого элемента
В моем проекте 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
.
Edit:
Я не должен, что, когда я писал highscore.append(wins)
, выигрывает это целая переменная Я хотел бы добавить победы и имя (строка в моей переменной).
Взгляните на [split] (https://docs.python.org/3.4/library/stdtypes.html#str.split) и [отсортировано] (https://docs.python.org/3.4/ библиотека/functions.html? изюминка = отсортирован # отсортирован). – Marein