11.1 사전은 매핑이다
사전(dictionary)은 리스트와 같지만, 좀 더 범용적이다. 리스트에서 인덱스는 정수여야 하지만, 사전에서는 인덱스에 어떤 타입, 즉 거의 모든 타입을 쓸 수 있다.
사전은 키(key)라고 부르는 인덱스 컬렉션과 값 컬렉션을 포함한다. 각 키는 값 하나와 연결되어 있다. 키와 값의 연관을 키-값 쌍(key-value pair) 또는 때때로 항목(item)이라고 부른다.
수학의 언어로는 사전이 키와 값의 연결 관계(mapping, 매핑)를 표현한 것이므로 각 키는 값과 “연결되어 있다”라고 얘기할 수도 있다. 일례로 영어 단어와 스페인어 단어를 연결하는 사전을 구축할 수 있으며, 이런 경우엔 키와 값이 모두 문자열이다.
함수 dict로 항목이 하나도 없는 새로운 사전을 생성할 수 있다. dict는 내장 함수의 이름이므로 dict를 변수 이름으로 쓰면 안 된다.
>>> eng2sp = dict()
>>> eng2sp
{}