dict는 파이썬 내장 자료구조 중에서 가장 중요하다.
일반적으로는 해시맵 또는 연관 배열이라고 널리 알려져 있다.
딕셔너리는 유연한 크기를 가지는 키(key) - 값(value)쌍으로, 이 둘은 모두 파이썬 객체다.
1. 딕셔너리 생성 방법
빈 딕셔너리를 만들 경우 중괄호{}를 사용하여 만들어주고, 직접 입력시 key, value값을 :로 구별하여 입력해준다.
2. 딕셔너리에 key, value값 추가
기존에 만들어진 d1 딕셔너리에 값을 추가해 보도록 하겠다.
(key값으로는 7, 5, 'dummy'를 추가하였고, value값으로는 'an integer', 'some value', 'another value'를 추가하였다.)
3. 딕셔너리에 key, value값 제거
del이나 pop을 이용하여 딕셔너리의 값을 제거할 수 있다.
(del을 이용하여 key값 중 5를 제거하였고, pop을 이용하여 'dummy'라는 key값을 제거하였다. del을 사용하여 제거했을 때는 반환값이 나오지 않지만, pop을 이용하면 제거된 key의 value값이 반환되어 진다.)
4. 딕셔너리 내 key값 확인
리스트나 튜플에서 사용했던 것 처럼 딕셔너리 내 key값을 확인 할 수 있다.
5. 딕셔너리의 이터레이터 성질
keys와 values 메서드는 각각 키와 값이 담긴 이터레이터를 반환한다. 키-값 쌍은 일정한 기준으로 정렬되어 있지 않지만, keys 메서드와 values 메서드에서 반환하는 리스트는 같은 순서를 가진다.
6. 이터레이터의 성질을 이용하여 딕셔너리 생성하기
딕셔너리는 2개의 튜플로 구성되어 있으므로 dict 함수가 2개짜리 튜플의 리스트를 인자로 받아서 사전을 생성하는 것이 가능하다.
(key_list와 value_list를 튜플의 리스트로 만들어 주었고, mapping_A라는 빈 딕셔너리에 for문을 이용하여 key-value값을 생성하였고, mapping_B는 dict 함수가 2개의 튜플 리스트 인자를 받아 딕셔너리를 생성한 모습이다.)
7. 딕셔너리 활용
words의 리스트를 정의 한 후, word in words로 풀어낸다면 'apple'부터 'book'까지 word라는 변수로 정의되어 for문에 적용이 된다.
이 때 letter의 변수 즉 첫 번째 단어인 apple을 예로 들면, word[0]은 apple의 맨 앞 스펠링인 'a'가 될 것이며,
by_letter_A[letter]는 by_letter_A['a']를 의미한다. 그럼 key값이 'a'일 때 [word] = [apple]이고, 이것은 value값이 됨
word의 맨 앞 스펠링이 key값으로 설정되고 그 전체 단어가 리스트 된 value값으로 구성되어 딕셔너리를 완성한다.
8. 딕셔너리 내 key값의 조건
key값이 되려면 바뀌지 않는 객체 즉, 튜플과 같이 바뀌지 않는 객체로 구성되어야만 한다. 이를 기술적으로 해시 가능해야 한다라고도 표현한다.
만약 key값으로 list와 tuple이 온다면, 객체 변경 가능한 list는 key값으로 불가능하고, tuple은 가능하다.
'Data organization > 개념정리' 카테고리의 다른 글
Comprehension(리스트, 딕셔너리) (0) | 2021.02.12 |
---|---|
파이썬 연산(집합) (0) | 2021.02.03 |
자료형 함수 (0) | 2021.01.28 |
리스트 활용 방법 (0) | 2021.01.27 |
튜플 생성 방법 및 분리 방법 (0) | 2021.01.27 |