[코딩도장] day12. 2차원 리스트 - 반복문으로 리스트 만들기
■ 들어가기
- 파이썬 코딩 도장 (남재윤/길벗). 을 공부하며 정리하는 블로그
▶ 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. 톱니형 리스트 만들기
- 지금까지의 "사각형 리스트"가 아닌, 가로 크기(열)이 불규칙한 "톱니형 리스트" 조작 방법