Сортировка списков (и любых других последовательностей)
Автор:admin Дата: 16 сентября 2020 г.Сложная сортировка списков
from operator import itemgetter, attrgetter, methodcaller data = [ ('Вася','25 лет','175 см'), ('Маша','12 лет','125 см'), ('Маша','11 лет','126 см'), ('Маша','10 лет','127 см'), ('Игорь','13 лет','180 см'), ('Катя','25 лет','165 см'), ('Катя','26 лет','175 см'), ('Катя','27 лет','172 см'), ('Катя','28 лет','171 см'), ] # сортировка по первому значению. В данном списке по имени for x in sorted(data): print(x) print() # сортировка по первому значению. В данном списке по имени for x in sorted(data,key=itemgetter(0)): print(x) print() # сортировка по второму значению. В данном списке по возрасту for x in sorted(data,key=itemgetter(1)): print(x) print() # сортировка по третьему значению. В данном списке по росту for x in sorted(data,key=itemgetter(2)): print(x) print() # сортировка по первому значению, затем, внутри значений с одинаковым первым значением - по второму. for x in sorted(data,key=itemgetter(0,1)): print(x) print() # сортировка по первому значению, затем, внутри значений с одинаковым первым значением - по третьему. for x in sorted(data,key=itemgetter(0,2)): print(x) print()