Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 3, 2015 13:31:32

oleg666
Зарегистрирован: 2015-10-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

структура данных словаря

туплю по поводу как добавить за один проход все данные в структуру.
В одной country_id присутствует много league_id , как можно составить структуру одним циклом

    
for key in data:
        m[key.country_id] = {
            'country_id': key.country_id,
            'country_title': key.country_title,
            'league':{}
        }
    for key in data:
          m[key.country_id]['league'][key.league_id]=key.league_title

Офлайн

#2 Ноя. 3, 2015 19:14:23

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

структура данных словаря

for key in data:
        m[key.country_id] = {
            'country_id': key.country_id,
            'country_title': key.country_title,
            'league':{key.league_id:key.league_title}
        }



Отредактировано doza_and (Ноя. 3, 2015 19:22:36)

Офлайн

#3 Ноя. 5, 2015 16:04:00

oleg666
Зарегистрирован: 2015-10-02
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

структура данных словаря

тогда в ‘league’:{key.league_id:key.league_title}
запишется последнее значение, а там массива значений

Офлайн

#4 Ноя. 5, 2015 21:12:35

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

структура данных словаря

Не очень внимательно прочел. Т.е. contry_id не уникальны?
Я бы разбил сущность на две части

from collections import defaultdict
league=defaultdict(dict)
id_to_title={}
for key in data:
    league[key.country_id][key.league_id]=key.league_title
    id_to_title[key.country_id]=key.country_title



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version