각 요소가 0과 K 포함 ([0, K]) 사이의 정수인 차원 N의 모든 벡터 집합을 만드는 우아한 방법은 무엇입니까?파이썬, 벡터를 만드는 우아한 방법
내 현재 코드는 다음과 같습니다
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
나는 나무와 놀고있다. 내 경우에는 n과 k가별로 없기 때문에 컴퓨터가 처리 할 수있다. – ashim