파이썬 배열 리스트 이중 loop를 사용해서 세로(4열)로 나오게 하고 싶은데
조회수 881회
퍼즐의 출력결과가
[[1,2,3,4],
[5,6,7,8],
[9,10,11,12],
[13,14,15,16]]
이중 loop를 사용해서 이렇게 세로(4열)로 나오게 하고 싶은데 몇시간 동안 고민해도 답이 안나오네요. 고수님들 도와주세요.
출력 결과가 한열로 나오면 안됩니다.
puzzle = [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]]
def puzzle_view(puzzle):
puzzle_list = []
for i in puzzle:
for j in i:
puzzle_list.append(j)
return puzzle_list
1 답변
-
꼭 이중루프를 이용해야 하나요?
아래 샘플은 numpy 를 이용한 것과 zip 함수를 이용해서 구한샘플입니다.
이중루프 추가
import numpy as np puzzle = [[1,2,3,4], [5,6,7,8], [9,10,11,12], [13,14,15,16]] np.array(puzzle).T.tolist() [[1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [4, 8, 12, 16]] list(zip(*puzzle)) [(1, 5, 9, 13), (2, 6, 10, 14), (3, 7, 11, 15), (4, 8, 12, 16)] result = [[], [], [], []] for l in puzzle: for i, n in enumerate(l): result[i].append(n) [[1, 5, 9, 13], [2, 6, 10, 14], [3, 7, 11, 15], [4, 8, 12, 16]]
댓글 입력