[英]Recursively Generating a List of n choose k combinations in Python - BUT return a list
[英]Python generate combinations of N in class K
我有這個代碼
def array_combos(n,k):
arCombos = []
i = 0
a = [0]*k
while i > -1:
for j in range(i+1, k):
a[j] = a[j-1]+1
i=j
print(a)
arCombos.append(a)
while a[i] == i + n - k:
i -= 1
a[i] += 1
return arCombos
print(a) 打印正確的值,但列出 function 返回的列表被單個數組填充 n 次。 如果我使用popolate list function 的yield insted 可以完美地工作。 我們能幫忙嗎? Tks
arCombos.append(a)
始終與 append 相同,並且僅是a
實例,因此您將其多次保存到主arCombos
,但仍有一個實例不斷被修改。
使用類似的代碼傳遞它的副本,更多信息請參見獲取列表副本
arCombos.append(a[:])
arCombos.append(list(a))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.