본문 바로가기
카테고리 없음

[혼공파] 3주차_리스트, 딕셔너리, 범위 자료형

by 테리누나 2024. 1. 20.

 

사랑니 뽑고와서 파이썬 공부하는 나 어떤대

점점 더 어려워진다!!!그렇지만 할 수 있다. 꼭 해내고 말거다!!!

 


 

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() [ ]

 

실행 결과