【发布时间】:2016-04-19 15:01:38
【问题描述】:
几天来,我一直在尝试找到一种方法来从“q”元素列表中创建所有长度为“n”的列表。到目前为止,我已经能够让 sage 打印我想要获得的所有列表。但是,由于我需要将这些列表用于另一个程序,因此我需要我的程序输出所有这些列表的列表,而不是让 Sage 打印列表。到目前为止我所拥有的是:
def XUniv(q,x,n):
"""
:param q: is your alphabet size
:param x: is a zero vector of any length
:param n: is len(x)-1
"""
for i in range(q):
x[n]=i
if n==0:
print x
else:
XUniv(q,x,n-1)
【问题讨论】:
-
有点不清楚的问题。你想要 q 个整数的所有排列达到固定长度 n 吗?
-
没有。假设 q=2 和 n=3 那么我希望我的函数输出 [[0,0,0],[0,0,1],[0,1,0],[0,1,1],[ 1,0,0],[1,0,1],[1,1,0],[1,1,1]]
-
好的,所以小于 q 的整数的固定长度 n 的排列。
-
没错。就像我在问题中所说的那样,我当前的函数将打印我正在寻找的内容,但我需要一种方法将所有打印的对象放入一个列表中。