Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 19, 2013 12:35:49

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Сортировка списка словарей.

Есть список словарей. Нужно его отсортировать по максимальному значения price

[{'id': '108302804', 'price': 1.04}, {'id': '198302444', 'price': 2.12}, {'id': '198442804', 'price': 1.62}]
Что-то в голову лезут сложные решения, посоветуйте, как проще сделать.
Спасибо, что потратили своё время на мой глупый вопрос.

Отредактировано paraman (Фев. 19, 2013 12:36:18)

Офлайн

#2 Фев. 19, 2013 13:01:00

sergeek
Зарегистрирован: 2012-06-26
Сообщения: 470
Репутация: +  43  -
Профиль   Отправить e-mail  

Сортировка списка словарей.

много подобных тем тут

ls = [{'id': '108302804', 'price': 1.04}, {'id': '198302444', 'price': 2.12}, {'id': '198442804', 'price': 1.62}]
sorted(ls,key= lambda d: d['price'])
Out[32]: 
[{'id': '108302804', 'price': 1.04},
 {'id': '198442804', 'price': 1.62},
 {'id': '198302444', 'price': 2.12}]

Офлайн

#3 Фев. 19, 2013 14:13:37

paraman
Зарегистрирован: 2012-07-10
Сообщения: 170
Репутация: +  1  -
Профиль   Отправить e-mail  

Сортировка списка словарей.

sergeek
много подобных тем тут
Спасибо, мне вот это нужно было:
sorted(ls, key=lambda d: d['price'], reverse=True)

Отредактировано paraman (Фев. 19, 2013 14:16:54)

Офлайн

#4 Фев. 20, 2013 08:54:49

pyuser
От:
Зарегистрирован: 2007-05-13
Сообщения: 658
Репутация: +  36  -
Профиль   Отправить e-mail  

Сортировка списка словарей.

Вместо

key=lambda d: d['price']
правильнее писать
key=itemgetter('price')
ЗЫ. itemgetter в модуле operator



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version