사랑니 뽑고와서 파이썬 공부하는 나 어떤대
점점 더 어려워진다!!!그렇지만 할 수 있다. 꼭 해내고 말거다!!!
1. 리스트
● 리스트란?
여러가지 자료를 저장할 수 있는 자료. 리스트는 대괄호[ ] 내부에 여러 종류의 자료를 넣어 선언하고, 선언한 리스트를 출력하면 내부의 자료를 모두 출력
- 요소 : 대괄호 [ ] 내부에 넣는 자료를 의미하며 영어로는 element
- 리스트는 한 가지 자료형만으로 구성할 수도 있고, 여러 종류의 자료형으로 구성할 수 도 있음
- 리스트는 0부터 셈
ex) list_a = [ 273, 32, 103, "문자열", True, False ]
273 | 32 | 103 | 문자열 | True | False |
[0] [1] [2] [3] [4] [5]
- 인덱스 : 리스트 기호인 대괄호 [ ] 안에 들어간 숫자
- 리스트에서의 Index Error : 리스트의 길이를 넘는 인덱스로 요소에 접근하려고 할 때 발생하는 예외. 요소가 존재하지 않는 위치에서 요소를 꺼내려고 할 때 발생
● 리스트 연산하기 : 연결(+), 반복(*)
- len() 함수 : 리스트 변수를 넣으면 요소의 개수를 세는 함수
● 리스트에 요소 추가하기
- append() 함수 : 리스트 뒤에 요소를 추가
- insert() 함수 : 리스트의 중간에 요소를 추가
ex) list_a.insert(0, 10) → 0 : 삽입할 위치, 10 : 삽입할 값
- extned() 함수 : 한 번에 여로 요소를 추가. 매개변수로 리스트를 입력하는데, 원래 리스트 뒤에 새로운 리스트의 요소를 모두 추가
● 리스트에 요소 제거하기
- 인덱스로 제거하기 : del 키워드, pop(). 인덱스로 제거한다는 것은 요소의 위치를 기반으로 요소를 제거
del 리스트명[인덱스]
리스트명.pop(인덱스)
- 값으로 제거하기 : remove()
리스트.remove(값)
- 모두 제거하기 : clear()
리스트.clear()
● 리스트 정렬하기
- 리스트 정렬하기 : sort(). 기본 오름차순 정렬
리스트.sort()
● 리스트 내부에 있는지 확인하기
- in / not in 연산자
- in 연산자 : 특정 값이 리스트 내부에 있는지 확인하는 방법. 리스트 내부에 값이 있으면 True, 없으면 False를 출력
- not in 연산자 : 리스트 내부에 해당 값이 없는지 확인하는 연산자. in 연산자와 정확하게 반대로 작동
2. 딕셔너리
● 딕셔너리란?
키(key)를 기반으로 값(value)을 저장하는 것
자료형 | 의미 | 가리키는 위치 | 선언 형식 |
리스트 | 인덱스를 기반으로 값을 저장 | 인덱스 | 변수 = [ ] |
딕셔너리 | 키를 기반으로 값을 저장 | 키 | 변수 = { } |
● 딕셔너리 선언하기
딕셔너리는 중괄호{ } 로 선언하며, 키:값 형태를 쉼표로 연결해서 만드는것
● 딕셔너리 요소에 접근하기
딕셔너리의 요소에 접근할 때는 리스트처럼 딕셔너리 뒤에 대괄호 [ ] 를 입력하고 내부에 인덱스처럼 키를 입력.
* 딕셔너리를 선언할 때는 { } 를 사용하지만, 딕셔너리의 요소에 접근할 때는 뒤에 대괄호 [ ]를 입력하고 내부에 인덱스처럼 키를 입력
구분 | 선언 형식 | 사용 예 | 틀린 예 |
리스트 | list_a = [ ] | list_a[1] | |
딕셔너리 | dict_a = { } | dict_a["name"] | dict_a{"name"} |
- 딕셔너리에서 NameError : 딕셔너리의 키에 따옴표 없이 단순하게 식별자를 입력하면 변수로 인식.
- 딕셔너리에서 KeyError 예외 : 존재하지 않는 키에 접근하면 KeyError 발생
● 딕셔너리에 값 추가하기 / 제거하기
- 딕셔너리에 값 추가하기 :
딕셔너리[새로운 키] = 새로운 값
- 딕셔너리에 값 제거하기 : del 키워드를 사용하여 특정 키를 지정하면 해당 요소 제거
● 딕셔너리 내부에 키가 있는지 확인하기
- in 키워드 : 딕셔너리 내부에 키가 있는지 없는지 확인할 때 사용
- get() 함수 : 딕셔너리의 키로 값을 추출하는 기능으로 딕셔너리[키]를 입력할 때와 같은 기능을 수행. 그러나 존재하지 않는 키에 접근할 경우 KeyError를 발생시키지 않고 None을 출력
3. 범위 자료형
● 범위
- range() 함수 : 정수로 이루어진 범위를 만들 때 사용
range(A) : 0부터 A-1까지의 정수로 범위를 만듦
range(A, B) : A부터 B-1까지의 정수를 범위로 만듦(A,B는 숫자)
range(A, B, C) : A부터 B-1까지의 정수를 범위로 만드는데, 앞뒤의 숫자가 C 만큼의 차이를 가짐
< 선택 미션 >
p. 213쪽의 1번 문제의 답 쓰고 인증하기 |
1. list_a = [0, 1, 2, 3, 4, 5, 6, 7] 입니다. 다음 표의 함수들을 실행했을 때 list_a의 결과가 어떻게 나오는지 적어보세요.
함수 | list_a 의 값(예상) |
list_a.extent(list_a) | [ 0, 1, 2, 3, 4, 5, 6, 7, 0, 1, 2, 3, 4, 5, 6, 7 ] |
list_a.append(10) | [ 0, 1, 2, 3, 4, 5, 6, 7, 10 ] |
list_a.insert(3, 0) | [ 0, 1, 2, 0, 4, 5, 6, 7 ] |
list_a.remove(3) | [ 0, 1, 2, 4, 5, 6, 7 ] |
list_a.pop(3) | [ 0, 1, 2, 4, 5, 6, 7 ] |
list_a.clear() | [ ] |