2n + 1 크기의 그리드의 왼쪽 상단 섹션을 가져올 목록이 있습니다.
n = 1
section = [[x, y] for x in range (n+1) for y in range (n+1)]
다음과 같이 표시됩니다. [[0, 0], [0, 1], [1, 0], [1, 1]]
3x3 (2n + 1) 그리드의 왼쪽 상단 모서리의 좌표를 가져옵니다. 예 :
[[1, 2, 3], [4, 0, 5], [6, 7, 8]]
그런 다음이 목록의 좌표 값을 편집하여 그리드의 모든 분기 섹션을 가져올 수 있습니다.
for coOrd in topRight:
coOrd[1] += n
for coOrd in botLeft:
coOrd[0] += n
for coOrd in botRight:
coOrd[0] += n
coOrd[1] += n
두 번째 목록 요소를 어떻게 든 개별화해야합니다.
[0, 0], [0, 1], [1, 0]... -> [0][0], [0][1], [1][0]
전체 그리드에 대한 값이있는 그리드 목록을 참조하는 데 사용할 수 있도록 다음과 같이 표시됩니다. gridList[0][0], gridList[0][1]
topLeft, topRight 등의 각 좌표를 통과하는 for 루프를 통해 각 섹션을 가져 와서 gridList에 적용하는 것을 선호합니다.
gridTL = [gridList[0][0], gridList[0][1], gridList[1][0], gridList[1][1]]
gridTR = [gridList[0][1], gridList[0][2], gridList[1][1], gridList[1][2]]
gridBL = [gridList[1][0], gridList[1][1], gridList[2][0], gridList[2][1]]
gridBR = [gridList[1][1], gridList[1][2], gridList[2][1], gridList[2][2]]
이해하실 수있을만큼 충분히 설명했으면 좋겠습니다. 미안하지 않았다면 더 물어 보시고 최선을 다해 설명하겠습니다.
본질적으로 요약하면 다음과 같습니다. (3x3) 그리드를 4 개의 섹션으로 분할해야합니다. 좌표를 가져 오기위한 루프를 생각 해냈고, 그리드에서 값을 가져올 수 있도록 이러한 좌표를 구현하는 데 어려움을 겪고 있습니다.
감사.
도우미 함수를 작성할 수 있습니다.
def gL(gridList, values):
return gridlist[values[0]][values[1]]
그런 다음
gridTL = map(lambda m: gl(gridList, m), section)
section
원하는 섹션이 어디에 있습니까 ?
노트 :
map
매우 Pythonic으로 간주되지 않습니다. 비슷한 일에 목록 이해력 사용을 고려할 수 있습니다. 이 같은 :
gridTL = [gridlist[m[0]][m[1]]for m in section]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다