반응형

파이썬 이중 for문으로 2D 리스트 만들기

 

2D 리스트란 리스트 안에 리스트가 들어가 있는 상태의 리스트를 의미합니다. 예를 들면 아래와 같습니다. 

[
 [0, 1, 2, 3, 4]
 [5, 6, 7, 8, 9]
 [10, 11, 12, 13, 14]
 [15, 16, 17, 18, 19]
 [20, 21, 22, 23, 24]
]

위와 같은 2D리스트를 우선 이중 for문으로 만들어 보겠습니다. 

my_list = []

for row in range(0,25,5):
    inner_list=[]
    for column in range(row, row + 5):
        inner_list.append(column)
    my_list.append(inner_list)​

우선 한 행을 5단위로 루프를 돌리기 위해서 range에 0부터 25사이를 5 단위로 올라가면서 루프를 돌리도록 했습니다. 

 

매 루프마다 inner_list라는 리스트를 생성하고 이 리스트에 행의 숫자와 행의 숫자에 5를 더한 만큼의 수 사이에서 루프를 돌도록 하고 있습니다. 그리고 그 수를 inner_list에 넣고 루프가 끝나면 inner_list를 my_list에 넣고 있습니다. 

 

my_list를 프린트 하면 아래와 같이 2D리스트가 완성된 것을 확인하고 있습니다. 

 

python-code0

 

파이썬 리스트 컴프리핸션에서 이중 for문 사용하기 

같은 작업을 리스트 컴프리핸션을 사용해서 해보겠습니다. 

 

my_list = [[column for column in range(row, row+5)]for row in range(0, 25, 5)]

훨씬 깔끔한 코드로 작성이 가능합니다. 

우선 my_list에 리스트를 할당하고 있습니다. 그런데 그 리스트 안에는 for문이 들어 있습니다. 

 

my_list = [ ? for row in range(0, 25, 5)]  #[ 추가하고 싶은 값  -- 반복문 ]

 

위에서 본 것처럼 0부터 25 사이를 5 단위로 올라가면서 루프를 도는 구문입니다. 만약 ?(물음표) 부분에 row가 들어간다면 my_list 안에는 0, 5, 10, 15, 20이 할당될 것입니다. 

 

my_list = [ row for row in range(0, 25, 5)]

 

python-code1

 

하지만 여기서는 5번 루프를 돌면서 아래와 같은 리스트를 my_list 안에 넣도록 하고 있습니다. 

 

[column for column in range(row, row+5)]

 

첫 번째 루프의 row의 값(0, 5, 10, 15, 20)을 활용해서 루프를 돌리고 그 값을 리스트에 저장하고 있습니다. 

row가 0일 때는 0, 1, 2, 3, 4가

row가 20일 때는 20, 21, 22, 23, 24가 

리스트에 담기게 됩니다. 

 

각 리스트들은 역시 my_list에 저장이 됩니다. 

프린트를 하면 아래외 같은 결과가 됩니다.

python-code2

 

 

 

같이 읽으면 좋은 글

 

 

【Python】 파이썬 이중(2차원) 리스트 만들고 요소에 접근하기

파이썬의 리스트에는 리스트의 요소로 다른 리스트를 넣을 수가 있습니다. 이렇게 리스트 안에 리스트를 넣은 것을 다차원 리스트 또는 다중리스트라고 부릅니다. 여기서는 이중(2차원)리스트

easytoread.tistory.com

 

【파이썬 랜덤 리스트 생성】 Python 리스트 랜덤 넘버(무작위 숫자)로 채우기

for 문을 사용해서 파이썬 랜덤 리스트 생성 아래와 같은 방식으로 리스트에 무작위 숫자를 넣을 수 있습니다. import random my_list = [] for value in range(0, 20): my_list.append(random.randint(0,100)) 무..

easytoread.tistory.com

 

파이썬 | 조건에 맞는 값만 리스트에 넣기 | 리스트 컴프리헨션

if문 한 줄로 작성하기 아래의 코드를 동작시키기면 'num은 10이다'가 출력될 것입니다. num = 10 if num == 10: print('num은 10이다') else: print('num은 10이 아니다') 위 코드를 한 줄로 작성해 보겠습니다...

easytoread.tistory.com

 

파이썬 | 엑셀 xlsx 작업을 자동화 하는 XlsxWriter 라이브러리

이 글에서는 파이썬 모듈 중 하나인 XlsxWirter에 대해서 살펴보겠습니다. 가벼운 정의부터 설치방법, 그리고 사용방법까지 확인해 봅니다. XlsxWriter를 사용하면 엑셀 업무를 훨씬 편하게 할 수 있

easytoread.tistory.com

 

파이참 무료 다운로드 | 설치 방법 | 기본 사용 방법

파이참은 Python 유저들에게 가장 큰 인기를 얻고 있는 통합 개발 환경(IDE) 중 하나입니다. 여기서는 파이참 무료 버전(Community)을 다운로드 하는 법과 설치 방법 그리고 기본 사용 방법까지 확인해

easytoread.tistory.com

 

파이참 무료와 유료 버전의 차이 | 어느 쪽을 사용해야 할까?

파이참(PyCharm)에는 아래의 3가지 버전이 있습니다. Professinal(프로페셔널) Community(커뮤니티) Educatinal(에듀케이셔널) 이 중 Professinal은 유료 버전이고 Community와 Educational은 무료 버전입니다...

easytoread.tistory.com

 

파이썬(Python)과 비단뱀 | 파이썬이라는 이름의 유래

Python은 최근 가장 많은 인기를 얻고 있는 프로그래밍 언어입니다. 언어를 공부하다보면 한 번쯤은 'Python이라는 게 무슨 의미지?', 'Python란 이름은 어디에서 나온 거지?'라는 의문을 가지게 되는

easytoread.tistory.com

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기