JSON 포맷 이해와 파이썬으로 JSON 파일 다루기 질문
위 캡쳐본에서 "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" 키에 대한 여러 가지 레벨을 리스트로 관리할 수 있습니다.
감사합니다.
Python 3 표시 없습니다.
0
58
1
강의실습 말고 강의에 대한 자료(pdf)가 없을까요?
0
70
1
구글 코랩과 아나콘다
0
84
1
강의와 다르게 오류가 뜨는 이유가 뭘까요?
0
101
1
COVID-19-master 관련 등 자료 누락
0
87
1
수업자료에 python_core_summary.ipynb 파일이 포함되어 있지 않습니다!
1
98
1
json.dumps관련된 질문
0
72
1
빅분기대비
0
112
1
파이썬으로 Plain Text 포멧 파일 다루기 연습문제 질문
0
93
1
강의자료 어디서 다운로드받나요?
0
139
1
pandas 라이브러리의 quotechar 인자에 대해 질문드립니다
0
102
1
iplot 에러 문제
1
200
1
플래그
0
76
1
플래그 라이브러리
0
85
1
CSV 파일 쓰기 다른 기법(사전 타입으로 쓰기) 관련
0
180
1
CSV 파일 읽을 때 오류
0
193
1
read() 함수 사용할 때 3번째 줄에 data로 출력 또는 print(data)로 출력 차이
0
136
1
강의 교재 및 실습 파일 제공되나요?
0
181
1
deep_data_and_visual 파일에서 에러가 납니다.
0
182
1
apply()함수
0
201
1
pandas groupby sum 질문
1
272
1
pandas_eda 자료 맨아래 heatmap 숫자가 안나옵니다
0
353
2
pandas_eda 힛맵에서 숫자가 안떠요
0
255
1
수업 자료에 pandas_basic 파일이 없습니다..!
0
277
1





