-
[코딩도장] 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. 톱니형 리스트 만들기
- 지금까지의 "사각형 리스트"가 아닌, 가로 크기(열)이 불규칙한 "톱니형 리스트" 조작 방법
'IT > 파이썬' 카테고리의 다른 글
[코딩도장] day14. 문자열 응용하기(2/2) (0) 2020.08.28 [코딩도장] day13. 문자열 응용하기(1/2) - 문자열 메서드(replace(), split(), join(), strip()) (0) 2020.08.27 [코딩도장] day11. 2차원 리스트 (0) 2020.08.23 [코딩도장] day10. 리스트 map, 튜플 (0) 2020.08.23 [코딩도장] day10. 리스트 할당/복사, 리스트 표현식 (0) 2020.08.22