반응형
중첩 리스트 내포
― 다차원 데이터를 한 줄로 다루는 파이썬의 마법
반복문을 중첩해서 사용할 수 있다는 것, 바로 이 점이 리스트 내포를 더 강력하게 만들어줍니다.
이번 글에서는 중첩 리스트 내포로 2차원 리스트 생성, 펼치기, 전치 등 다양한 구조를 다뤄봅니다.
1. 기본 구조
[[표현식 for 항목2 in 반복2] for 항목1 in 반복1]
2. 예제 1: 행렬 만들기
matrix = [[i + j*3 for i in range(3)] for j in range(3)]
출력:
[[0, 1, 2], [3, 4, 5], [6, 7, 8]]
3. 예제 2: 리스트 펼치기 (flatten)
[num for row in matrix for num in row]
4. 예제 3: 조건 포함
[num for row in matrix for num in row if num % 2 == 0]
5. 예제 4: 전치 행렬
[[row[i] for row in matrix] for i in range(3)]
6. 예제 5: 좌표 격자 생성
[(x, y) for x in range(3) for y in range(3)]
✅ 마무리 요약
용도 | 형태 |
---|---|
2차원 생성 | [[i + j*3 for i in ...] for j in ...] |
1차원 펼치기 | [num for row in matrix for num in row] |
조건 포함 | [num for ... if 조건] |
전치 행렬 | [[row[i] for row in matrix] for i in range()] |
좌표 생성 | [(x, y) for x in X for y in Y] |
📌 다음 글 예고
enumerate, zip, lambda를 리스트 내포와 결합해 복잡한 작업을 한 줄에 표현하는 방법을 소개하겠습니다.
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
리스트 내포 실전 응용― 텍스트 분석부터 AI 입력 전처리까지 (0) | 2025.05.19 |
---|---|
파이썬 리스트 내포 × enumerate × zip × lambda― 현실 문제를 한 줄로 해결하는 고급 조합 (1) | 2025.05.18 |
파이썬 집합 내포― 중복 제거, 조건 필터링을 한 줄로! (0) | 2025.05.16 |
파이썬 딕셔너리 내포― 한 줄로 만드는 똑똑한 데이터 매핑 (2) | 2025.05.15 |
리스트 내포로 2차원 리스트 만들기 (1) | 2025.05.14 |