在Python中嵌套到动态深度

我有一个问题,我正在尝试解决这个问题,需要嵌套尽可能多的级别,就像列表中的项目一样.或者确切地说,在列表中迭代.

def example(arg_list):
for i in arg_list[0]:
    for j in arg_list[1]:
        for k in arg_list[2]:
            print "{} {} {}".format(i,j,k)

只要“arg_list”是包含3个迭代的列表,例如[[1,3,4],[4,5,6],[9,3,2,1,0],上述函数就可以正常运行].如果列表中总有四个迭代,那么这也很容易.我需要弄清楚如何创建一个函数,为添加到“arg_list”参数的每个iterable添加另一个嵌套级别.似乎递归可能是要走的路,但却无法解决这个问题.

解决方法:

您可以使用递归,例如:

def example(arg_list, res=[]):
    if arg_list == []:
        print res
        return
    for i in arg_list[0]:
        example(arg_list[1:], res+[i])
上一篇:C嵌套类中的“this”关键字


下一篇:python – 在嵌套列表的第二列中查找最大值?