Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 5, 2015 17:43:54

romensd
Зарегистрирован: 2015-06-05
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Как из вложенного списка сделать словарь ?



Нашел скрипт не могу понять как он работает.
Объясните пожалуйста подробно.

dict = {}
for y in [["First","Second"]]:
    level = dict
    for x in y:
        if x not in level:
            level[x] = {}
        print dict
        level = level[x]
В логах
{'First': {}}
{'First': {'Second': {}}}

Насколько я понимаю level это ссылка на словарь dict.
Как мы получили такой словарь {'First': {'Second': {}}} ?

Почему если написать
dict = {}
for x in ["First","Second"]:
    level = dict
    if x not in level:
        level[x] = {}
    level = level[x]
print dict
То лог будет {'Second': {}, ‘First’: {}}

Почему в первом случае {'First': {'Second': {}}}
а во втором {'Second': {}, ‘First’: {}}

не понимаю что происходит с словарем на каждом этапе итерации
спасибо!!!

Офлайн

#2 Июнь 5, 2015 19:33:37

werter
Зарегистрирован: 2014-09-02
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

Как из вложенного списка сделать словарь ?

romensd
Почему если написать
Потому что во втором примере нужно level = dict , написать перед циклом

Отредактировано werter (Июнь 5, 2015 19:34:21)

Офлайн

#3 Июнь 6, 2015 01:25:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10031
Репутация: +  857  -
Профиль   Отправить e-mail  

Как из вложенного списка сделать словарь ?

romensd
Как из вложенного списка сделать словарь ?
Приведи список и словарь, который должен из него получиться.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version