Рубрики

Способы сортировки списка словарей по значениям в Python — Использование лямбда-функции

Сортировка всегда была полезной утилитой в повседневном программировании. Словарь в Python широко используется во многих приложениях, начиная от конкурентного домена и заканчивая доменом разработчика (например, для обработки данных JSON). В таких случаях может оказаться полезным знание словарей по их значениям.
Есть 2 способа добиться этой сортировки, а именно:

  • Использование лямбда-функций
  • Использование itemgetter

Эта статья посвящена сортировке с использованием лямбда-функции и встроенной функции « sorted () ». Различные варианты также могут быть достигнуты для сортировки словарей.

  • Для убывания: используйте « reverse = True » в дополнение к функции sorted ().
  • Для сортировки по нескольким значениям: Разделите их запятыми, указав правильный порядок, в котором должна выполняться сортировка.

# Python-код демонстрирует работу
# отсортировано () с лямбда

  
# Инициализация списка словарей

lis = [{ "name" : "Nandini", "age" : 20}, 

{ "name" : "Manjeet", "age" : 20 },

{ "name" : "Nikhil" , "age" : 19 }]

  
# использование отсортированного и лямбда для печати отсортированного списка
# по возрасту

print "The list printed sorting by age: "

print sorted(lis, key = lambda i: i['age'])

  

print ("\r")

  
# использование отсортированного и лямбда для печати отсортированного списка
# по возрасту и имени. Обратите внимание, что "Манджит"
# теперь стоит перед "Нандини"

print "The list printed sorting by age and name: "

print sorted(lis, key = lambda i: (i['age'], i['name']))

  

print ("\r")

  
# использование отсортированного и лямбда для печати отсортированного списка
# по возрасту в порядке убывания

print "The list printed sorting by age in descending order: "

print sorted(lis, key = lambda i: i['age'],reverse=True)

Выход:

The list printed sorting by age: 
[{'age': 19, 'name': 'Nikhil'}, {'age': 20, 'name': 'Nandini'}, {'age': 20, 'name': 'Manjeet'}]

The list printed sorting by age and name: 
[{'age': 19, 'name': 'Nikhil'}, {'age': 20, 'name': 'Manjeet'}, {'age': 20, 'name': 'Nandini'}]

The list printed sorting by age in descending order: 
[{'age': 20, 'name': 'Nandini'}, {'age': 20, 'name': 'Manjeet'}, {'age': 19, 'name': 'Nikhil'}]

Следующая статья -> Способы сортировки списка словарей по значениям в Python — Использование itemgetter

Эта статья предоставлена Манджитом Сингхом . Если вы как GeeksforGeeks и хотели бы внести свой вклад, вы также можете написать статью с помощью contribute.geeksforgeeks.org или по почте статьи contribute@geeksforgeeks.org. Смотрите свою статью, появляющуюся на главной странице GeeksforGeeks, и помогите другим вундеркиндам.

Пожалуйста, пишите комментарии, если вы обнаружите что-то неправильное, или вы хотите поделиться дополнительной информацией по обсуждаемой выше теме.

Рекомендуемые посты:

Способы сортировки списка словарей по значениям в Python — Использование лямбда-функции

0.00 (0%) 0 votes