-2

私はPythonでツリーベースのプログラムに取り組んでいます。再帰を使用してこの関数を書き直し、これらすべての for ループを清算する必要があります。

私の機能の例:

def items_on_level(full_tree, level):
    for key0, value0 in full_tree.items():
        for key1, value1 in value0.items():
            for key2, value2 in value1.items():
                for key3, value3 in value2.items():
                    print(key3)

入力:
- level - 再帰ツリーのレベル
- full_tree - 親と子の辞書

{<Category: test>: {<Category: dkddk>: {}, <Category: test2>: {<Category: test3>: {}, <Category: test5>: {<Category: kfpokpok>: {}}}}

関数は以下を返す必要があります: 現在のレベルのすべてのオブジェクト

ヘルプ! ありがとう!

4

4 に答える 4

1
itemsOnLevel = lambda r, l: (
    lambda f, r, l: f (f, r, l) ) (
    lambda f, r, l: [_ for _ in r.keys () ] if not l else
    [i for k in r.values () for i in f (f, k, l - 1) ], r, l)
于 2013-10-15T21:09:33.767 に答える
0

これで少しは助かると思います

if(full_tree != {}):

    for node in return_list_current_level(full_tree):
        items_on_level(node, level+1)
else:
    return None
于 2013-10-15T21:33:00.533 に答える