반응형
리스트 내포로 2차원 리스트 만들기
― 파이썬에서 행렬을 한 줄로 만들자!
리스트 내포(List Comprehension)는 파이썬에서 데이터를 손쉽게 가공할 수 있는 대표적인 문법입니다.
이번에는 이를 활용해 2차원 리스트(행렬 형태)를 만드는 실용적인 예제를 소개합니다.
✅ 목표
[[10, 11, 12],
[13, 14, 15],
[16, 17, 18]]
숫자는 행마다 3씩 증가하고 있으며, 각 행은 3개의 숫자를 가집니다.
✅ 코드 한 줄로 만들기
[[row + (i * 3) for row in [10, 11, 12]] for i in [0, 1, 2]]
출력:
[[10, 11, 12],
[13, 14, 15],
[16, 17, 18]]
📌 코드 해설
row + (i * 3)
→ i값에 따라 각 행이 3씩 증가for i in [0, 1, 2]
→ 총 3행for row in [10, 11, 12]
→ 각 행의 기본 값
✨ 응용: 열 중심 구조로
[[i + (j * 3) for j in range(3)] for i in [10, 11, 12]]
출력:
[[10, 13, 16], [11, 14, 17], [12, 15, 18]]
💡 실전 팁
- 규칙적 2차원 데이터 생성에 매우 유용
- Pandas, Numpy 없이 간단히 테스트할 때 좋음
- print와 함께 시각화도 가능
✅ 마무리
리스트 내포 하나로도 이런 2차원 구조를 만들 수 있다는 점,
그리고 바깥 반복과 안쪽 반복의 순서만 바꿔도 전혀 다른 행렬 구조가 나온다는 점이 포인트입니다.
다음 글에서는 딕셔너리 내포(dictionary comprehension)를 이용해 구조화된 데이터 맵을 만드는 방법을 소개하겠습니다.
'십대를 위한 코딩 > 십대를 위한 파이썬' 카테고리의 다른 글
파이썬 집합 내포― 중복 제거, 조건 필터링을 한 줄로! (0) | 2025.05.16 |
---|---|
파이썬 딕셔너리 내포― 한 줄로 만드는 똑똑한 데이터 매핑 (2) | 2025.05.15 |
파이썬 리스트 내포에서 if 조건문 쓰는 법 (1) | 2025.05.13 |
파이썬 리스트 내포 오류 쉽게 이해하기 (1) | 2025.05.12 |
사용자 정의 함수를 활용한 고급 key 정렬 (1) | 2025.05.11 |