program story

TypeError : unhashable type : 'dict', dict가 다른 dict의 키로 사용될 때

inputbox 2020. 11. 25. 07:56
반응형

TypeError : unhashable type : 'dict', dict가 다른 dict의 키로 사용될 때


이 질문에 이미 답변이 있습니다.

이 코드가 있습니다.

for element in json[referenceElement].keys():

해당 코드를 실행하면 다음 오류가 발생합니다.

TypeError : 해시 할 수없는 유형 : 'dict'

그 오류의 원인은 무엇이며 어떻게 해결할 수 있습니까?


오류에서 나는 그것이 referenceElement사전 이라고 추론합니다 (아래 재현 참조). 사전은 해시 될 수 없으므로 다른 사전 (또는 그 자체로)의 키로 사용할 수 없습니다.

>>> d1, d2 = {}, {}
>>> d1[d2] = 1
Traceback (most recent call last):
  File "<input>", line 1, in <module>
TypeError: unhashable type: 'dict'

for element in referenceElement.keys()또는을 의미했을 것입니다 for element in json['referenceElement'].keys(). 유형 json유형 referenceElement포함 내용에 대한 더 많은 컨텍스트를 통해 두 솔루션 모두 작동하지 않는 경우 더 나은 도움을 드릴 수 있습니다.


나에게 보이는 것은 keys 메서드를 호출하여 목록이나 튜플을 찾을 때 파이썬으로 사전 객체를 반환한다는 것입니다. 따라서 사전의 모든 키를 가져 와서 목록에 넣은 다음 for 루프를 사용하십시오.

참고 URL : https://stackoverflow.com/questions/4531941/typeerror-unhashable-type-dict-when-dict-used-as-a-key-for-another-dict

반응형