목록 목록에서 주어진 노드의 모든 이웃을 찾는 방법을 찾으려고합니다. 배열은 다음과 같습니다python 목록 목록에서 주어진 노드의 모든 이웃 찾기
0,2,4,1,6,0,0
2,0,0,0,5,0,0
4,0,0,0,5,5,0
1,0,0,0,1,1,0
6,5,0,1,0,5,5
0,0,5,1,5,0,0
0,0,0,0,5,0,0
지금까지 내 코드는 다음과 같습니다
#!/usr/bin/python
#holds all source nodes
source = []
#read in and store the matrix
def create_matrix(file):
with open('network.txt') as f:
Alist = []
for line in f:
part = []
for x in line.split(','):
part.append(int(x))
Alist.append(part)
return Alist
def check_neighbours(Alist):
i = iter(Alist)
item = i.next()
source.append(item)
print source
file = ("F:/media/KINGSTON/Networking/network.txt")
Alist = create_matrix(file)
check_neighbours(Alist)
는 분명히 이것은 단지 행렬의 첫 번째 행을 출력하지만 난 조금 다른 뭔가를 원하고있다. 예를 들어, 0부터 시작하여 [0,1] 노드와 [1,0] 노드를 모두 찾습니다. 그러나 행렬의 가장자리에 있지 않으면 3x3 반경을 조사해야합니다. 나는 현재 노드의 오른쪽에 다음 이웃을 찾는 방법을 안다.하지만 대각선 노드를 포함하는 노드 옆에있는 것을 찾는 법을 정말로 모르겠다.
당신은 3의 직경을 의미하지 당신은? 노드에서 (가장자리에 없다고 가정하면) 왼쪽, 오른쪽, 위, 아래, 4 개의 대각선 값이 필요합니까? 아니면 왼쪽에 2, 오른쪽에 2 등을 원하십니까? – DaveTheScientist
예 직경 3입니다. 나는 이전의 것을 기쁘게하겠습니다. – user2263800