TypeError: unhashable type: 'dict', когда dict используется как ключ для другого dict
У меня есть эта часть кода:
for element in json[referenceElement].keys():
Когда я запускаю этот код, я получаю эту ошибку:
TypeError: unhashable type: 'dict'
В чем причина этой ошибки и что я могу сделать, чтобы исправить ее?
Ответ 1
Из этой ошибки я заключу, что referenceElement - словарь (см. ниже). Словарь не может быть хэширован и поэтому не может использоваться как ключ к другому словарю (или самому себе!).
Вероятно, вы имели в виду либо for element in referenceElement.keys(), либо for element in json['referenceElement'].keys(). С большим контекстом, какие типы json и referenceElement и что они содержат, мы сможем лучше помочь вам, если ни одно из решений не будет работать.
Ответ 2
Мне кажется, что, вызывая метод ключей, вы возвращаете на python объект словаря при поиске списка или кортежа. Поэтому попробуйте взять все ключи в словаре, помещая их в список, а затем используя цикл for.