Je suis novice en python et j'expérimente un peu mais j'ai du mal à faire une liste dans un tuple à utiliser comme clé de dictionnaire. Voici un exemple qui devrait le rendre plus clair:Comment attribuer une liste dans un tuple dans un dictionnaire?
dict_of_lists_values = {}
dict_of_lists_values[('dog', 'cat')] = 10
dict_of_lists_values[('dog1', 'cat1')] = 10
dict_of_lists_values[('dog1', 'cat2')] = 10
dict_of_lists_values
{('dog', 'cat'): 10, ('dog1', 'cat2'): 10, ('dog1', 'cat1'): 10}
Cela fonctionne parfaitement et me permet d'avoir un deux valeurs que je peux utiliser comme clé dans un dictionnaire. Lorsque je tente d'appliquer à une liste, je reçois une erreur: TypeError: unhashable type: 'list'
dict_of_lists_values = {}
a = [22, 39, 0]
b = [15, 38, 12]
dict[(a, b)] = 'please work'
Sur la base de mon expérience précédente, je pense que si je convertir la liste en une chaîne, il fonctionnerait, mais je veux aussi comme un liste pas une chaîne.
Est-ce possible?
Aussi, désolé si le titre est confus .. J'ai essayé de penser au titre moins confus (et le fait que je suis venu avec cela montre à quel point ce problème est confus :-) – Lostsoul
Cela échoue parce que le hachage d'un tuple est composé de hachages de chaque élément. –
Je pensais qu'il l'a converti comme il l'a fait avec mon premier exemple. Je vais passer en revue mes livres sur les tuples de python ... Merci de clarifier .. – Lostsoul