Answer

Answer

t.me/python_tesst

Ответ:

[ {'name': 'Ed', 'age': 24},

{'name': 'Jane', 'age': 34},

{'name': 'Janet','age': 34},

{'name': 'John', 'age': 32},

{'name': 'John', 'age': 64},

{'name': 'John', 'age': 99},

{'name': 'Sara', 'age': 64} ]

Объяснение:

Предположим, мы хотим отсортировать данный нам список словарей. Но мы не просто хотим сортировать их по имени или возрасту, мы хотим отсортировать их по обоим полям. Это означает, что элементы, которые сравниваются, сохраняют свой первоначальный порядок. Сначала сортируем по возрасту, а потом по имени. С помощью operator.itemgetter() мы получаем поля возраста и имени из каждого словаря в списке. Это дает нам результат, который мы хотели.

Код:

people = [
{ 'name': 'John', "age": 64 },
{ 'name': 'Janet', "age": 34 },
{ 'name': 'Ed', "age": 24 },
{ 'name': 'Sara', "age": 64 },
{ 'name': 'John', "age": 32 },
{ 'name': 'Jane', "age": 34 },
{ 'name': 'John', "age": 99 },
]
 
import operator
people.sort(key=operator.itemgetter('age'))
people.sort(key=operator.itemgetter('name'))
 
print(people)


Report Page