一个有点难的递归

def permutations(param):
    if len(param) == 0:
        yield param
    else:
        for j in range(len(param)):
            param[0], param[j] = param[j], param[0]
            for k in permutations(param[1:]):
                yield [param[0]] + k


for item in permutations([1, 2, 3]):
    print(item)

http://pythontutor.com/visualize.html#

posted @ 2017-10-11 21:31  又是火星人  阅读(175)  评论(0编辑  收藏  举报