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