티스토리 뷰
파이썬 2차원 배열(리스트)를 뒤집어보자.
2중 for문으로 뒤집기
새로운 리스트를 만들고 기존 리스트의 행과 열을 이중 for문으로 뒤집어 넣는다.
board = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
N = len(board)
new_board = [[]*N for _ in range(N)]
for r in range(N):
for c in range(N):
new_board[r].append(board[c][r])
# [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
zip 함수와 upacking으로 뒤집기
zip 내장함수는 두 개의 iterable한 자료형을 합쳐주는 함수이다.
기존 이차원 리스트를 * unpacking하고 각각에서 차례대로 아이템을 하나씩 꺼내 튜플을 만든다.
>>> for item in zip([1, 2, 3], ['sugar', 'spice', 'everything nice']):
... print(item)
...
(1, 'sugar')
(2, 'spice')
(3, 'everything nice')
과정
1. 리스트 언패킹으로 괄호 제거
2. zip([], [], []) : zip 함수 내에 3개씩의 정수를 가진 세 개의 리스트가 들어가있는 형태
3. 각각의 리스트에서 한개씩 꺼내 3개의 튜플을 반환
4. map 함수로 리스트화
board = [[1, 2, 3],[4, 5, 6],[7, 8, 9]]
N = len(board)
print(*board)
# [1, 2, 3] [4, 5, 6] [7, 8, 9]
print(list(zip(*board)))
# [(1, 4, 7), (2, 5, 8), (3, 6, 9)]
print(list(map(list, zip(*board))))
# [[1, 4, 7], [2, 5, 8], [3, 6, 9]]
참고사이트 https://programmers.co.kr/learn/courses/4008/lessons/13318
'Python' 카테고리의 다른 글
객체지향 - 여러가지 메서드 (0) | 2021.11.29 |
---|---|
조건문이 들어있는 List comprehension 으로 for문과 if문을 한번에 처리하기 (0) | 2021.10.25 |
return으로 함수 중간에서 빠져나오기 (0) | 2021.10.12 |
인덱스 찾기 list 와 string 헷갈리지 말자! (0) | 2021.10.09 |
[queue] 큐(Queue) 자료구조별 비교 및 주의사항 (0) | 2021.10.09 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 무료폰트추천
- ssafy후기
- 개발자커리
- 개발자책추천
- 디즈니얼굴
- 브왈라
- 폰트추천
- ssafy결과
- ssafy합격후기
- 한글무료폰트추천
- 폰트
- SSAFY
- 싸피6기
- 개발자
- 깃허브계정
- 개발도서추천
- intj여자
- 개발자로드맵
- ssafy6기
- 클린코드
- 깃허브계정2개
- 클린코더
- 임대차3법
- 싸피
- 개발언어순위
- 개발언어추천
- 코딩도서
- 상업용무료폰트
- 맥과윈도우로깃허브
- 개발자도서추천
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
글 보관함