0
我写了下面的代码,使用递归的帮助下生成元素的具体数目的所有可能的组合:为什么列表不会附加到我的全局列表中?
global_values = []
parameters = [1,2,3,4,5,6]
content = ["x","y","v","sd"]
def rec(values, depth):
if(depth == 0):
global_values.append(values)
print values
return
for i in range(0,len(parameters)):
values.append(parameters[i])
rec(values,depth-1)
values.pop()
return
rec([],len(content))
print "!!!!----------!!!!"
print global_values
“打印‘价值’,”语句打印正确的结果,但我想将此结果附加到全局列表。为什么这不起作用?
随着
parameters = [1,2,3]
content = ["x","y"]
我得到的输出:
[1, 1]
[1, 2]
[1, 3]
[2, 1]
[2, 2]
[2, 3]
[3, 1]
[3, 2]
[3, 3]
!!!!----------!!!!
[[], [], [], [], [], [], [], [], []]
但我想充满前打印的值的最后名单。
你有没有理由不能使用'itertools.combinations()'? –
@mhlester你说得对。我只看了一下代码,看到OP在本地修改一个全局,而没有声明它。在我评论之前,我应该已经意识到发生了什么事情。哎呀! = P – That1Guy