![](/img/trans.png)
[英]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.