해결된 질문
작성
·
157
0
위 캡쳐본에서 "language" : {"Java" : "basic", "Java" : "advance"} 라고 작성 시
출력 부분에서 "language" : {"Java" : "advance"}만 출력이 됩니다.
"language" : {"Java" : "basic", "Java2" : "advance"}라고 작성 시
출력 부분에서 "language" : {"Java" : "basic", "Java2" : "advance"}가 출력됩니다.
전자의 경우는 Java값이 업데이트 되었다고 인식되어 advance만 출력이 되는건가요?
답변 1
0
안녕하세요. 답변 도우미입니다.
네, 맞습니다! Python의 딕셔너리에서 키는 유일해야 합니다. 따라서 "Java": "basic", "Java": "advance"
와 같이 같은 키를 두 번 사용하면, 뒤에 오는 값으로 앞의 값을 덮어쓰게 됩니다. 이것이 왜 "Java": "advance"
만 출력되는 이유입니다.
두 번째 예시에서는 "Java"
와 "Java2"
라는 두 개의 다른 키를 사용했기 때문에 두 값이 모두 딕셔너리에 포함되어 출력됩니다.
따라서, 키가 중복되면 마지막에 지정된 값으로 덮어쓰기가 되므로 주의해야 합니다. 만약 여러 값을 같은 키에 저장하고 싶다면, 리스트나 다른 딕셔너리 등을 값으로 사용할 수 있습니다. 예를 들면:
"language": {"Java": ["basic", "advance"]}
이렇게 하면 "Java" 키에 대한 여러 가지 레벨을 리스트로 관리할 수 있습니다.
감사합니다.