次元Nのすべてのベクトルのセットを作成するための洗練された方法は何ですか。各要素は0からKまでの整数([0、K])です。
私の現在のコードは:
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
は望ましいベクトルです。