Ответ 1
Используйте параметр sorted
function key
:
sorted(people, key=lambda dct: dct['name'])
Существует отличная сортировка HOWTO, которая объясняет, как это работает.
>>> people = [
{'name' : 'Bob', 'number' : '123'},
{'name' : 'Bill', 'number' : '234'},
{'name' : 'Dave', 'number' : '567'},
]
>>> sorted(people, key=lambda dct: dct['name'])
[{'name': 'Bill', 'number': '234'},
{'name': 'Bob', 'number': '123'},
{'name': 'Dave', 'number': '567'}]
В качестве альтернативы вы можете использовать
import operator
sorted(people, key=operator.itemgetter('name'))
Использование operator.itemgetter('name')
немного быстрее, чем использование
lambda dct: dct['name']
.