什么是优雅的方式来创建维度N的所有向量的集合,每个元素都是介于0和K之间的整数([0,K])。python,创建向量的优雅方式
我当前的代码是:
def nodes_init(n, k):
nodes = {}
e = np.identity(n)
nodes[tuple(np.zeros(n))] = 0
s = Set()
s.add(tuple(np.zeros(n)))
s_used = Set()
while len(s) != 0:
node = s.pop()
if node in s_used:
continue
s_used.add(node)
for i in xrange(len(e)):
temp = node + e[i]
temp = cap(temp, k)
temp = tuple(temp)
nodes[temp] = 0
if not temp in s_used:
s.add(temp)
return nodes
def cap(t, k):
for i in xrange(len(t)):
if t[i] > k:
t[i] = k
return t
,我不喜欢它。 字典nodes
的键是期望的载体。
出于好奇,为什么你要这样?你不会以K^N向量结束吗? (很多) – Shep 2012-04-22 19:39:18
我正在玩树木,在我的情况下,n和k不是这样,计算机可以处理它 – ashim 2012-04-22 19:50:01