Вы можете сделать это с помощью встроенной функции sorted(yourlist=, key=)
.
Где your_list
- это ваш list_of_dicts
, а с key=
вы определяете logi c, как вы хотите, чтобы ваш список ввода быть отсортированным. В вашем случае код:
sorted_list=sorted(list_of_dicts, key=lambda x: x['name'][-1])
Лямбда-функция позволяет вам сортировать последний символ x['name']
для каждого x
в исходном списке. Он возвращается, когда print (sorted_list)
:
[{'name': 'Edmund', 'year_of_birth': 1930, 'gender': 'Male'}, {'name':
'Susan', 'year_of_birth': 1928, 'gender': 'Female'}, {'name': 'Peter',
'year_of_birth': 1927, 'gender': 'Male'}, {'name': 'Jadis', 'year_of_birth':
0, 'gender': 'Female'}, {'name': 'Lucy', 'year_of_birth': 1932, 'gender':
'Female'}]
Как видите, отсортированный список следует за «Эдмунд» -> «Сьюзен» -> «Питер» -> «Джадис» -> «Люси»