Pourquoi j'obtiens ce message d'erreur lors de la tentative de modifier un dictionnaire: "TypeError: unhashable type: "tranche"

Je suis en train de construire une fonction qui reçoit en entrée une chaîne de caractères et un nombre k, et retourne un dictionnaire dont les clés sont la chaîne de caractères de longueur k de la chaîne d'origine et la valeur de chaque touche est une séquence d'indices au cours de laquelle la chaîne est apparu.

Exemple :

<<< hash_sequence("byebyeboy",3 ( 

{ 'yeb': [1, 4], 'boy': [6], 'bye': [0, 3], 'ebo': [5], 'eby': 
[2] } 

C'est mon code:

def hash_sequence(string, k):
    dictionary={}
    for i in range(len(string)):
        dictionary[i:i+3]=[i]
        if dictionary[i:i+3] in dictionary:
            dictionary[i:i+3]+=[1]
    return dictionary 
  • qu'attendez-vous dictionary[i:i+3]=[i] faire?
  • pour ajouter le numéro d'index pour les valeurs de clé, je suppose que c'est mon erreur, comment puis-je mettre à jour les valeurs de clé alors?
InformationsquelleAutor Tam211 | 2014-05-13