ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [코딩도장] day12. 2차원 리스트 - 반복문으로 리스트 만들기
    IT/파이썬 2020. 8. 24. 23:31

    ■ 들어가기

    - 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그


    ▶ Unit23. 2차원 리스트 사용하기

         - 23.1 2차원 리스트를 만들고 요소에 접근하기

         - 23.2 반복문으로 2차원 리스트의 요소를 모두 출력하기

         - 23.3 반복문으로 리스트 만들기

         - 23.4 2차원 리스트의 할당과 복사 알아보기

     

    >> 23.3 반복문으로 리스트 만들기 <<

    - for 반복문과 append를 활용하여 리스트 만드는 방법

      ( append : 리스트 끝에 "요소 하나"를 추가하는 리스트 조작 메서드 // 리스트 추가 삭제편 확인)

     

    1. for 반복문으로 1차원 리스트 만들기

    >>> a = []     # 빈 리스트 생성
    >>> a
    []
    >>> for i in range(10) :
    a.append(i)     # 리스트 a에 i 값을 요소로 추가
    >>> a
    [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

     

    2. for 반복문으로 2차원 리스트 만들기

    >>> a = []
    >>> a
    []
    >>> for i in range(3) :    # 3개 행(row) 생성 (세로)
                 line = []    # 열(column)을 담을 빈 리스트 생성
                 for j in range(2) :   # 2개 열(column) 생성 (가로)
                       line.append(j)   # 각 요소에 값을 적용
                 a.append(line)


    >>> print(a)
    [[0, 1], [0, 1], [0, 1]]

    -> 2차원 리스트에서 바깥쪽(행)이 아닌 안쪽(열) 리스트로 사용할 빈 리스트를 열 생성 전 추가!

     

    3. 리스트 표현식으로 2차원 리스트 만들기

    (참고) 리스트 표현식 : 파이썬 리스트만의 특징으로 리스트 안에 for 반복문과 if 조건문을 사용하여 리스트를 조작하는 방법 ( 리스트 추가/삭제 편 22.5 참고 )

    >>> a = [[1 for j in range(2)] for i in range(3)]
    >>> print(a)
    [[1, 1], [1, 1], [1, 1]]

    - ① [1 for j in range(2)] : range(2)로 0, 1의 숫자를 만들고 0, 1 각각에 "1"로 설정 (2번 반복) => [1, 1]

    - ② for i in range(3) : range(3)으로 0, 1, 2의 숫자를 만들고 0, 1, 2 각각에 ①에서 생성한 [1, 1]을 반복하여 설정 (3번반복)

    - 위의 for 반복문을 줄이고 싶다면 아래와 같이 "곱셈"으로 처리 가능

    >>> a = [[1] * 2 for i in range(3)]
    >>> print(a)
    [[1, 1], [1, 1], [1, 1]]

     

    4. 톱니형 리스트 만들기

    - 지금까지의 "사각형 리스트"가 아닌, 가로 크기(열)이 불규칙한 "톱니형 리스트" 조작 방법

     

    댓글

Designed by Tistory.