Сортировка списков (и любых других последовательностей)

Автор: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()


Яндекс.Метрика