Python의 딕셔너리(dictionary)는 해시맵(hashmap) 구조로 구현되어 있기 때문에, 원칙적으로 중복된 키가 존재할 수 없습니다. 즉, 각 키에는 정확히 하나의 값만 연결됩니다. 동일한 키에 새로운 값을 할당하면 기존 값이 덮어써지며, 에러가 발생하지 않습니다.
중복 키 할당 시 동작 예시
아래 예제에서는 이미 존재하는 키 'foo'에 다시 값을 할당하는 상황입니다.
a = {'foo': 42, 'bar': 55}
a['foo'] = 100
print(a)출력 결과
{'foo': 100, 'bar': 55}실행 결과를 보면 'foo'의 원래 값이었던 42가 사라지고, 나중에 할당한 100으로 대체된 것을 확인할 수 있습니다. 이처럼 딕셔너리는 중복 키를 허용하지 않고, 마지막에 할당된 값만 유지합니다.
하나의 키에 여러 값을 저장하는 방법
만약 하나의 키에 여러 개의 값을 저장하고 싶다면, 해당 키에 리스트(list)를 연결하고 그 리스트에 값을 추가하는 방식을 사용해야 합니다.
a = {'foo': [42]}
a['foo'].append(100)
a['foo'].append(200)
print(a)이렇게 하면 하나의 키 아래에 여러 값을 체계적으로 관리할 수 있으며, 데이터의 손실 없이 원하는 만큼 값을 누적할 수 있습니다.