Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Группировка объектов по полю (как покрасивее сделать) [RSS Feed]

#1 Янв. 4, 2009 01:34:02

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

Группировка объектов по полю (как покрасивее сделать)

есть список объектов, у каждого объекта есть некий числовой g_id
нужно сгруппировать этот список по этому g_id
если в лоб то это выглядит так:

res = {}

for o in objs:
if (not res.has_key(o.g_id)):
res =
res.append(o)

можно это сделать как-нить красивее?

особенно не нравится вот это:

if (not res.has_key(o.g_id)):
res =


в том же пхп например не нужно так заранее инициализировать отсутствующий ключ…



Офлайн

#2 Янв. 4, 2009 12:14:42

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Группировка объектов по полю (как покрасивее сделать)

А может лучше отсортировать по этому ключу и `groupby` по нему сделать?



Офлайн

#3 Янв. 4, 2009 19:07:35

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

Группировка объектов по полю (как покрасивее сделать)

наверно даже побыстрее будет т.к новый словарь не создается..



Офлайн

#4 Янв. 5, 2009 17:48:02

Evg
От:
Зарегистрирован: 2008-12-25
Сообщения: 346
Репутация: +  -1  -
Профиль   Отправить e-mail  

Группировка объектов по полю (как покрасивее сделать)

правильно я понял что в таком подходе нельзя будет сразу извлечь по любому ключу как в готовом словаре, тк на выходе просто итератор, те это просто будет удобно и быстро для перебора групп через for?



Офлайн

  • Начало
  • » Django
  • » Группировка объектов по полю (как покрасивее сделать)[RSS Feed]

Board footer

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

Powered by DjangoBB

Lo-Fi Version