我想构造带有两个参数entNum
和maxNum
的函数,并返回一些向量的列表。以下是我的尝试:
# entNum is the number of entries in each vector, and maxNum is the
# maximum number each entry can be.
def vectList(entNum,maxNum):
vectors = []
v = []
for i in range(entNum):
v.append(1)
vectors.append(v)
x = 0
while v[entNum-1] != maxNum:
v[x] += 1
if v[x] == maxNum:
x += 1
else:
pass
vectors.append(v)
return vectors
使用vectList(3,2)
,我希望它返回[[1,1,1],[2,1,1],[2,2,1],[2,2,2]]
,但我获得的是[[2,2,2],[2,2,2],[2,2,2],[2,2,2]]
。在做了一些搜索之后,问题似乎是列表对象是可变的。我不知道怎么解决这个问题。