Python) 2차원 리스트 뒤집기

Pori·2023년 6월 6일

Python

목록 보기
5/11

2차원 리스트

sample_list = [[1,2,3],[4,5,6],[7,8,9]]

뒤집기

배열의 행과 열을 바꾼다. 대각선으로 뒤집는다고 생각해도 된다.

  1. 반복문으로 구현
new_list = [[],[],[]] # 원본 배열과 같은 모양으로 생성한다.
for i in range(len(sample_list)):
    for j in range(len(sample_list[i])):
    	new_list[i].append(sample_list[j][i])
print(new_list)

결과: [[1,4,7],[2,5,8],[3,6,9]]
  1. zip을 사용하여 구현
new_list = list(map(list, zip(*sample_list)))
print(new_list)

결과: [[1,4,7],[2,5,8],[3,6,9]]

zip과 unpacking을 사용하여 구현하였다고 한다.-> 다음 포스팅에 정리

회전

뒤집기를 통해서 회전을 구현 가능하다.

대각으로 뒤집은 후 좌우 반전하여 90도 시계방향 회전을 구현했다.

smaple_list = [[1,2,3],[4,5,6],[7,8,9]]

new_list = [[],[],[]] # 원본 배열과 같은 모양으로 생성한다.
for i in range(len(sample_list)):
    for j in range(len(sample_list[i])):
    	new_list[i].append(sample_list[j][i])
        
new_list2 = []

for i in new_list:
	i.reverse()
    new_list2.append(i)

print(new_list2)

결과: [[7, 4, 1], [8, 5, 2], [9, 6, 3]]

0개의 댓글