Time for us to shine
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 3주차 본문
▶3주차 미션 (7/17 ~ 7/23)
진도 : Chapter 04
기본 미션 : 리스트, 딕셔너리, 범위 자료형에 대해 이해한 내용을 바탕으로 포스팅하기
선택 미션 : p.213쪽의 1번 문제의 답 쓰고 인증하기
Chapter 04 반복문
04-1. 리스트와 반복문
- 기본개념
- 문자열 : 문자들이 일렬로 나열된 것
ex) "가나다라" - 수열 : 숫자들이 일렬로 나열된 것
ex) 1 2 3 4 - 배열 : 숫자, 문자, 불 자료형 등이 일렬로 나열된 것
ex) [10, 10.0, "가나다", True]
* 수열과는 다르게 숫자 0번째 부터 센다* - for 반복문의 기본적인 사용 형태
- 매개변수에 리스트를 넣는 경우
- 매개변수에 딕셔너리를 넣는 경우
- 매개변수에 range를 넣는 경우
- 문자열 : 문자들이 일렬로 나열된 것
- 리스트 [ ] : 여러 가지 자료를 저장할 수 있는 자료형
- [요소, 요소, 요소...]
- 요소 (=element) : 리스트 내부에 있는 각각의 내용
- 인덱스 : 리스트 내부에서 값의 위치
- 리스트 반대로 돌리기
a = [1, 2, 3, 4, 5]
print(a[ : : -1]) --> [5, 4, 3, 2, 1] - 중첩 리스트
a = [[1, 2, 3], [4, 5], [6, 7]]
a[0] --> [1, 2, 3]
a[0][0] --> 1 - 리스트 연산하기
- 연결 (+)
- 반복 (*)
- len()
- 리스트에 요소 추가
append() : 가장 마지막에 요소를 하나 추가
리스트명.append(요소)
insert() : 원하는 위치에 요소를 하나 추가
리스트명.insert(위치, 요소)
extend() : 가장 마지막에 요소를 여러 개 추가
리스트명.extend([ ])
- 리스트에 요소 제거
- 인덱스에 따라 제거 : del, pop()
- 값에 따라 제거 : remove()
- 전부 제거 : clear()
del : 제거하고 싶은 인덱스 입력
del 리스트명[인덱스]
pop() : 제거하고 싶은 인덱스 입력
리스트명.pop(인덱스)
remove() : 제거하고 싶은 요소(값)를 입력
리스트명.remove(값)
clear() : 모든 요소를 제거
리스트명.clear()
- 리스트 정렬
sort() : 리스트 요소를 정렬하고 싶을 때 / 기본 오름차순 정렬임
리스트명.sort()
- 리스트 내부에 있는지 요소 존재 확인
in 연산자 : 특정 값이 리스트 내부에 있는지 확인
값 in 리스트
not in 연산자 : 특정 값이 리스트 내부에 없는지 확인
값 not in 리스트
- for 반복문
- for 반복문 : 리스트와 함께 사용
for 반복변수 in 리스트:
코드
- 중첩 리스트 & 중첩 반복문
- 1차원 리스트 : 리스트가 한 겹으로 감싸진 리스트
[1, 2, 3] - 2차원 리스트 : 리스트가 두 겹으로 감싸진 리스트
[[1, 2, 3], [4, 5, 6]]
- 1차원 리스트 : 리스트가 한 겹으로 감싸진 리스트
04-2. 딕셔너리와 반복문
- 딕셔너리 { } : 키를 기반으로 여러 가지 자료를 저장할 수 있는 자료형
- {키 : 값, 키 : 값, 키 : 값....}
- 키 (=key) : 딕셔너리 내부에서 값이 무엇인지를 나타내는 것
숫자, 문자열, 불, 튜플 - 값 (=value) : 딕셔너리 내부에 있는 키의 내용
모든 값
자료형 | 의미 | 가리키는 위치 | 선언 형식 |
리스트 | 인덱스를 기반으로 값을 저장 | 인덱스 | 변수 = [ ] |
딕셔너리 | 키를 기반으로 값을 저장 | 키 | 변수 = { } |
구분 | 선언 형식 | 사용 예 | 틀린 예 |
리스트 | list_a = [ ] | list_a[1] | |
딕셔너리 | dict_a = { } | dict_a["name"] | dict_a{"name"} |
# 주의할 점
딕셔너리를 선언할 때 --> 중괄호 { } 사용
딕셔너리의 요소에 접근할 때 --> 리스트처럼 딕셔너리 뒤에 대괄호 [ ] 입력하고 내부에 인덱스처럼 키를 입력
- NameError : 딕셔너리의 문자열 키와 관련된 실수
- for 반복문 : 딕셔너리와 함께 사용
for 반복변수 in 딕셔너리:
코드
- 중첩 반복문
- 딕셔너리에 요소 값을 변경
딕셔너리명[교체할 키] = 새로운 값
- 딕셔너리에 요소 추가
딕셔너리명[새로운 키] = 새로운 값
- 딕셔너리에 요소 제거
del 딕셔너리명[제거할 키]
- 딕셔너리 내부에 키가 있는지 확인
in 키워드 : 특정 키가 딕셔너리 내부에 있는지 확인
찾을 키 in 딕셔너리명
get() : 존재하지 않는 키에 접근할 경우 에러를 발생시키지 않고 None을 출력
딕셔너리명.get(찾을 키)
04-3. 범위 자료형과 while 반복문
- range() : 정수로 이루어진 범위 만들 때 사용
- range(A) : 0부터 A-1까지의 정수 범위
- range(A, B) : A부터 B-1까지의 정수 범위
- range(A, B, C) : A부터 B-1까지의 정수 중, 앞뒤의 숫자가 C만큼 차이나는 범위
- range() 함수의 매개변수로는 반드시 '정수'를 입력해야 함
- for 반복문 : range()와 함께 사용
for 숫자 변수 in range():
코드
- for 반복문 : 리스트와 range() 조합
- for 반복문 : 반대로 반복 (=역반복문)
1. range() 함수의 매개변수 3개 사용하는 방법
2. reversed() 함수 사용
- while 반복문
- 복합구문
- 조건이 참이라면 반복
- True라면 항상 참이기 때문에 끝나지 않는(=무한 반복문)이 됨
- 프로그램에게 "죽기 전까지 계속 상태를 감시해라" 등을 명령할 때 많이 사용함
- 강제 종료 : Ctrl + C
while 불 표현식:
코드
# C, C++, Java 등의 프로그래밍 언어는
for 반복문으로 할 수 있는 일을 while 반복문으로도 구현할 수 있고,
while 반복문으로 할 수 있는 일을 for 반복문으로도 구현할 수 있음
# But 파이썬은
for 반복문으로 할 수 있는 일을 while 반복문으로도 구현할 수 있지만,
while 반복문으로 할 수 있는 일을 for 반복문으로 구현은 불가능함
- while 반복문 : for 반복문처럼 사용
- for 반복문 설명할 때 언급했던 것 이외에는 모두 while 반복문 사용
- 무한 반복 --> only while 반복문
- 특정 횟수만큼 반복 --> for 반복문
ex) 빵 10개를 먹어라 - 조건으로 반복 --> while 반복문
ex) 내일 아침까지 계속 먹어라, 바게트빵만 다 먹어라
- while 반복문 : 상태를 기반으로 반복
- 리스트의 remove() 함수는 리스트 내부에서 해당하는 값을 하나만 제거 할 수 있음
- But while 반복문을 활용하면 여러 개 제거 가능
- while 반복문 : break 키워드 & continue 키워드
- 반복문 내부에서만 사용 가능
break 키워드 : 반복문 전체를 벗어날 때 사용
continue 키워드 : 현재 반복을 생략하고, 다음 반복으로 넘어갈 때 사용
04-4. 문자열, 리스트, 딕셔너리와 관련된 기본 함수
리스트에 적용할 수 있는 기본 함수 | min(), max(), sum() |
리스트 뒤집기 | reversed() |
현재 인덱스가 몇 번째인지 확인하기 | enumerate() |
딕셔너리로 쉽게 반복문 작성하기 | items() |
리스트 안에 for문 사용하기 | 리스트 내포 |
min() : 리스트 내부에서 최솟값을 찾음
max() : 리스트 내부에서 최댓값을 찾음
sum() : 리스트 내부에서 값을 모두 더함
reversed() : 리스트 뒤집기
# for문에서 배운 역반복문과 동일
enumerate() : 현재 인덱스가 몇 번째인지 확인
for 인덱스, 값 in enumerate(리스트)
items()
for 키, 값 in 딕셔너리.items()
리스트 내포 : 반복 가능한 것을 기반으로 새로운 리스트를 만들어내는 문법
리스트 이름 = [표현식
for 반복자 in 반복할 수 있는 것]
리스트 이름 = [표현식
for 반복자 in 반복할 수 있는 것
if 조건문]
🎁기본미션
리스트, 딕셔너리, 범위 자료형에 대해 이해한 내용을 바탕으로 위와 같이 포스팅 함
🎁선택미션
'혼공학습단 > 혼자 공부하는 파이썬 (개정판)' 카테고리의 다른 글
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 6주차 (0) | 2023.08.20 |
---|---|
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 5주차 (0) | 2023.08.10 |
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 4주차 (0) | 2023.07.28 |
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 2주차 (0) | 2023.07.16 |
[혼공학습단 10기] 혼자 공부하는 파이썬 (개정판) 1주차 (0) | 2023.07.09 |