매트릭스에서 특정 인덱스 (이웃 인덱스)를 8 개 스캔하고 해당 인접 라우터가 다른 목록에 있는지 확인합니다 (Cord
)로 구성됩니다. 이웃이 Cord
목록에있는 경우 해당 특정 좌표를 Temp_Cord
목록에 추가합니다. 코드 스 니펫은 아래에 나와 있습니다.조건이 참이 아니더라도 목록 값이 if 문 내부에서 업데이트 됨
처음으로 if newCord in Cord:
조건이 충족 될 때 에 newCord
값이 추가되는 것을 확인할 수 있습니다. 예상되는 행동입니다. 그러나 의 추가 된 값은 newCord
의 변경에 따라 다른 모든 반복에서 변경되며 이는 Temp_Cord[0]
및 newCord
과 같은 메모리를 공유합니다. 누군가가이 문제를 해결할 수 있도록 도와 줄 수 있습니까? if newCord in Cord:
조건이 true 인 경우에만 Temp_Cord
을 newCord
값과 함께 추가해야합니다.
감사의 말.
Cordlen = len(Cord)
orientation = [(-1,0), (-1,1), (0,1), (1,1), (1,0), (1,-1),(0,-1),(-1,-1)]
firstCord = [0,173]
Temp_Cord = []
while ((Arrlen) < Cordlen):
newCord = [0,0]
for i in orientation:
newCord[0] = firstCord[0] + i[0]
newCord[1] = firstCord[1] + i[1]
if newCord in Cord:
Temp_Cord.append(newCord)
Arrlen = len (Temp_Cord)