Я пытаюсь написать процедуру для чтения значений из текстового файла (имена и оценки), а затем иметь возможность сортировать значения az по наименованию, от наивысшего до самого низкого и т. Д. . Я могу сортировать данные, но только по позиции в строке, что нехорошо, когда имена различной длины. Это код, который я написал до сих пор:Сортировка значений списка, считанных в список из файла
ClassChoice = input("Please choose a class to analyse Class 1 = 1, Class 2 = 2")
if ClassChoice == "1":
Classfile = open("Class1.txt",'r')
else:
Classfile = open("Class2.txt",'r')
ClassList = [line.strip() for line in Classfile]
ClassList.sort(key=lambda s: s[x])
print(ClassList)
Это пример одного из файлов данных (Каждая часть данных находится на отдельной строке):
Боб, 8,7,5 Фред, 10,9,9 Джейн, 7,8,9 Энн, 6,4,8 Мэдди, 8,5,5 Джим, 4,6,5 Майк, 3,6,5 Jess , 8,8,6 Dave, 4,3,8 Ed, 3,3,4
Я могу сортировать по nam e, но не на счет 1, 2 или 3. Что-то очевидное, возможно, но я не смог найти пример, который работает одинаково.
Thanks
Непонятно, что вы спрашиваете. Что вы имеете в виду _not на счет 1, 2, 3_? – Secret
Итак, у вас есть список имен, за которыми следуют некоторые значения, и вы хотите, чтобы строки сортировались по имени, а затем в каждой строке, вы хотите, чтобы значения также сортировались? – David