programing

TypeError: 캐시할 수 없는 유형: 'dict' (dict가 다른 dict의 키로 사용되는 경우)

abcjava 2023. 2. 20. 23:49
반응형

TypeError: 캐시할 수 없는 유형: '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그리고 그 내용 모두 효과가 없을 경우 NAT은 더 나은 지원을 제공할 수 있습니다.

목록이나 태플을 찾을 때 python으로 돌아가는 키 메서드를 사전 개체로 호출하는 것처럼 보입니다.따라서 딕셔너리 내의 모든 키를 목록에 넣은 후 for 루프를 사용해 보십시오.

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

반응형