십대를 위한 코딩/십대를 위한 파이썬

리스트 내포로 2차원 리스트 만들기

forSilver 2025. 5. 14. 03:00
반응형

리스트 내포로 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)를 이용해 구조화된 데이터 맵을 만드는 방법을 소개하겠습니다.