【发布时间】:2015-03-04 06:42:10
【问题描述】:
我正在尝试创建一个递归函数来查找 python 列表的所有组合。
我想在我的函数中输入 ['a','b','c'] 并且在函数运行时我希望跟踪看起来像这样:
['a','b','c']
['['a','a'],['b','a'],['c','a']]
['['a','a','b'],['b','a','b'],['c','a','b']]
['['a','a','b','c'],['b','a','b','c'],['c','a','b','c']]
我的递归函数如下所示:
def combo(lst,new_lst = []):
for item in lst:
new_lst.append([lst[0],item])
print([lst[0],item])
return combo(new_lst,lst[1:])
【问题讨论】:
-
您的预期输出没有意义。你是怎么得到
['a','a','b','c']或['a','a']的?为什么有两个“a”?
标签: python list recursion combinations itertools