2016-11-03 26 views

Odpowiedz

10

to najprostszy sposób jest stworzenie słownika począwszy od środka na zewnątrz:

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

Za pomocą funkcji rekurencyjnej:

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 bajtów

Próbujesz grać w golfa s jeden:

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

teraz to seksowny kod Pythona, który działa! – jojo

+4

Znacznie mniej czytelny niż prosta pętla IMO –

+0

@Chris_Rands ah Całkowicie się z tobą zgadzam. Ale czytelność to tylko jedno kryterium. – jojo