65 votes

Dictionnaire Python : TypeError : type unhashable : 'list'

J’ai du mal à remplir un dictionnaire python à partir d’un autre dictionnaire.

Supposons que le dictionnaire « source » a une chaîne comme clés et une liste d’objets personnalisés par valeur.

Je crée mon dictionnaire cible exactement comme j’ai créé mon dictionnaire « source », comment est-il possible que cela ne fonctionne pas ?

Je reçois

Code:

L’erreur se trouve sur cette ligne : ``

6voto

NPE Points 169956

C’est en effet assez étrange.

``S’il s’agissait d’un dictionnaire, je ne crois pas qu’il soit possible que votre code échoue de la manière que vous décrivez.

Cela conduit à deux hypothèses :

  1. Le code que vous exécutez réellement n’est pas identique au code de votre question (peut-être une version antérieure ou ultérieure ?)
  2. `` n’est en fait pas un dictionnaire, mais est une autre structure (par exemple, une liste).

5voto

Ronak Gandhi Points 998

Selon votre description, les choses ne s’additionnent pas. `` S’il s’agit d’un dictionnaire, votre boucle for doit fonctionner correctement.

2voto

DhruvPathak Points 16181

Ça marche bien : http://codepad.org/5KgO0b1G, votre `` variable peut avoir un autre type de données que dict

0voto

Vous pouvez également utiliser defaultdict pour résoudre ce problème. Cela ressemble à ceci:

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X