본문 바로가기
Python/Coding Base

19. 딕셔너리(dictionary)

by Nanki 2022. 2. 13.

딕셔너리는 말그대로 사전이라는 의미이며, 파이썬의 딕셔너리는 키(key)와 값(value)의 쌍을 저장할 수 있는 객체다.

 

딕셔너리의 특징

1. 딕셔너리의 키는 해시가능한 객체이며 중복되는 값은 허용하지 않는다.

2. 딕셔너리는 중괄호 안에 항목을 쉼표로 분리시켜서 나열한다. 

dictionary = { 키1:값1 , 키2:값2, ... }

3. 값은 어떤객체든지 가능하지만, 키는 변경 불가능한 객체 즉, 문자열이나 숫자열이어야 한다. 

4. 공백 딕셔너리는 { }로 생성한다.

  • 혼동 주의 : 수학에서는 { }를 집합 기호로 쓰지만, 파이썬에서는 딕셔너리를 사용한다. 조심하자!

5. 딕셔너리도 변경 가능한 컨테이너로, 항목을 추가하서나 삭제할 수 있다.

6. 리스트와 마찬가지로, 저장된 항목을 순차적으로 순회하려면 for문을 사용해야 한다.

7. 딕셔너리의 함축

새로운 딕셔너리를 생성하는 간결한 방법으로, 0부터 10까지 제곱값을 만들어 보겠다.

example = { x : x*x for x in range(10)}
## 결과 : 
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}

8. 파이썬 딕셔너리는 근본적으로 특정 순서대로 저장하지 않는다. 즉, 저장한 순서대로 딕셔너리를 만들었더라도, 저장된 결과는 순서가 다를 수 있다.

  • 딕셔너리 키값 기준 정렬 법 : 내장함수인 sorted() 함수 이용
    • print(sorted(example))
  • 딕셔너리의 값을 정렬 : values() 메소드로 정렬
    • print(sorted(dic.values())