일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 파이썬독학
- 머신러닝
- 딕셔너리
- 난수배열
- 계속기업
- 리스트함수
- 빅데이터
- 파이썬
- pop함수
- 다중회귀분석
- jupyternotebook
- 기계분석
- dictionary
- INDEX함수
- 코딩
- IFRS
- 부채
- 코딩배우기
- value
- 자본
- 재무제표
- Python
- 파이썬강의
- 파이썬기초
- 인덱스
- 다항식회귀분석
- index
- 자산
- 리스트
- Key
- Today
- Total
코인시던스의 기록
[#12 파이썬 기초] 딕셔너리(dictionary) 키/값 확인, 딕셔너리와 리스트 차이점, get()함수, keys()함수, values()함수, items()함수 본문
[#12 파이썬 기초] 딕셔너리(dictionary) 키/값 확인, 딕셔너리와 리스트 차이점, get()함수, keys()함수, values()함수, items()함수
코인시던스 2020. 10. 21. 22:13오늘은 딕셔너리(dictionary)의 key 와 value 에 접근하는 방법과 딕셔너리와 리스트의 차이점에 대해 알아보겠습니다.
1. 딕셔너리 내 key 존재 확인
in 키워드 : 딕셔너리 내에 key 가 존재하는지 확인할 때 사용하는 키워드로 dictionary 에서 매우 중요합니다. 딕셔너리 크기와 관계없이 항상 연산의 속도가 일정하기 때문입니다. (아래의 2. 리스트와 딕셔너리의 차이점에서 자세히 설명하고 있습니다.)
2. 리스트(List) 와 딕셔너리(Dict) 차이점
List 와 dic 는 기능상으로는 큰 차이가 없으나 성능상으로 차이가 있습니다. 아래의 예시를 보시면 a 라는 딕셔너리(dictionary) 와 리스트(List) 가 있습니다. 둘 다 True 이죠. b 라는 key 가 a 라는 dict 안에 있고, 100 라는 항목도 b 라는 List 에 있으닌깐요. 하지만 리스트(List) 의 in 키워드는 100 이라는 원소를 찾는데 리스트 원소를 다 뒤지기 때문에 원소의 개수가 천만개 백억개로 많아지면 성능저하를 초래합니다. 반면에, dict 의 in 키워드는 딕셔너리에 원소가 한개든 만개든 수십억개든 관계없이 결과를 바로 가져옵니다. dic 는 key 를 찾는데 최적화되어 있는 데이터 구조이기 때문이죠.
따라서 값과 관계 없이 dict 안에 key 가 있느냐 없느냐를 판단할 때 in 이라는 키워드를 굉장히 많이 사용해서 딕셔너리를 활용합니다.
3. Dictionary Value Access (딕셔너리 값 찾는 방법)
딕셔너리(dictionary) 에서 값(value) 을 구하는 방법에는 2가지가 있습니다.
① dict[key] 으로 접근
dictionary 이름 + 대괄호[] 안 key 를 넣어주면 key 에 대응하는 값이 output 으로 나옵니다.
하지만 딕셔너리(dictionary) 에 키(key)가 없는 경우 에러가 발생하는데요. 에러를 싫어하시는 분들은 아래의 두번째 방법을 이용해 주시면 됩니다.
② .get() 함수 로 접근
- dictionary 이름 + . + get + 괄호 key 를 넣어주면 됩니다.
- get 함수를 이용하면 딕셔너리에 key 가 없는 경우Error 가 발생하지 않고 None 을 반환시킵니다. 프로그램이 죽지 않죠.
- get 함수를 사용해서 key 를 주면 프로그래밍이 죽지 않으니 습관적으로 get 함수를 사용해 key 를 가져오는 것이 좋습니다. 프로그래밍을 조금 더 방어적으로 할 수 있죠.
※ key 가 없을 때 프로그래밍을 죽이지 않는 방법으로 if 문을 사용할 수도 있는데 나중에 if 문을 배우면 자세히 다뤄보도록 하겠습니다.
4. key, value Access(찾기)
딕셔너리(dictionary) 의 키(key) 와 값(value) 을 확인하는 방법에 대해 알아보겠습니다.
① keys() - 모든 키 반환 ② values() - 모든 값 반환 ③ items() - 키, 값의 튜플을 반환
- dict 에서 모든 key 를 가지고 오고 싶으면 keys() 함수를, 모든 value 를 가지고 오고 싶으면 values 함수를 사용하면 됩니다.
- keys 와 values 를 리스트(List) 타입으로 변환시켜서 사용할 수 있습니다.
- key 와 value 를 동시에 list 화 하고 싶을 때는 items() 함수를 사용하면 됩니다.
for, while 루프를 배운 다음 items, keys, values 함수를 다시 다뤄보도록 하겠습니다.
'파이썬' 카테고리의 다른 글
numpy 사용 이유? numpy 배열 만들기, 난수 배열 만들기 (0) | 2021.01.27 |
---|---|
[#13 파이썬 기초] 세트(set)란? 세트 생성하는 법, 특징 / 파이썬에서 집합 연산은 어떻게 할까? (0) | 2020.11.13 |
[#11 파이썬 기초] 딕셔너리(dictionary)란? 딕셔너리에 key value 추가, 변경, 삭제 update 하는 방법 (0) | 2020.10.16 |
[#10 파이썬 기초] 튜플(Tuple) 생성하는 법, 튜플 사용하는 이유? (0) | 2020.10.14 |