Эта программа написана с целью сбора имени, возраста и оценки с использованием запятых в качестве разделителей. После того, как значения были введены, программа упорядочит список, отдавая приоритет именам, возрастам и оценкам соответственно. Однако результат оказался не таким, как ожидалось.
from operator import itemgetter, attrgetter
store=[]
store1=[]
while True:
block = input("Enter Name, Age, Score: ")
if block:
store.append(block)
else:
break
store1=tuple(store)
print(sorted(store1, key=itemgetter(0,1,2)))
Результат:
Enter Name, Age, Score: John,50,100
Enter Name, Age, Score: Jan,40,50
Enter Name, Age, Score: John,38,10
Enter Name, Age, Score:
['Jan,40,50', 'John,50,100', 'John,38,10']
Как показано выше, при перестановке имени проблем нет. На самом деле, проблема заключается во 2-й и 3-й переменных при сортировке. Кажется, что функция itemgetter не работает.