2016-11-03 3 views

ответ

10

Это самый простой способ для создания словаря, начиная изнутри:

tree_dict = {} 
for key in reversed(tree_list): 
    tree_dict = {key: tree_dict} 
4

Используя рекурсивную функцию:

tree_list = ['Parents', 'Children', 'GrandChildren'] 

def build_tree(tree_list): 
    if tree_list: 
     return {tree_list[0]: build_tree(tree_list[1:])} 
    return {} 

build_tree(tree_list) 
7

44 байта

Попытка гольфа thi с одним:

lambda l:reduce(lambda x,y:{y:x},l[::-1],{}) 
+1

теперь это сексуальный код на Python, который работает! – jojo

+4

Гораздо менее читаемый, чем простой цикл IMO –

+0

@Chris_Rands ah Я полностью согласен с вами. Но читаемость - это всего лишь один критерий. – jojo

Смежные вопросы