/ / Histogramy: „Błąd typu, indeksy muszą być liczbami całkowitymi, nie str” - python, lista, histogram, typerror, indeks

Histogramy: "TypeError, indeksy listy muszą być liczbami całkowitymi, a nie str" - python, lista, histogram, typeerror, indeksy

Próbuję stworzyć funkcję, która będzie pobierać znak i histogram i dodawać instancję tego znaku do histogramu. Mój kod jest jak dotąd:

def add_to_hist(character, histogram):
"""Takes a character and a histogram and adds an occurrence
of that character to the histogram.

string, list -> list"""
for c in character:
if c not in histogram:
histogram[c] = 1
else:
histogram[c] = histogram[c]+1
return histogram

Za każdym razem, gdy próbuję uruchomić kod, który zwraca TypeError: list indices must be integers, not str. Czy ktoś może mi to pomóc? Mój kod może być całkowicie błędny, jestem w tym bardzo nowy. Z góry dziękuję!

Odpowiedzi:

0 dla odpowiedzi № 1

Ten błąd wynika z tego, że próbujesz przypisać klucz do a list, i list może być indeksowany tylko przez intengera list[0], list[1], wkrótce. Więc, hinstogram musi być dict ani list

Upewnij się, że dzwonisz add_to_hist metoda, przekazać dyktat. Możesz w ten sposób zainicjować dyktat:

histogram = {}

ZAKTUALIZOWANE

Na podstawie Twojego komentarza nie możesz przejść [["B",1],["a",3],["n",2],["!",1]] jako param do add_to_his, ponieważ to nie jest dyktat. Powinno być {"B":1,"a":3,"n":2,"!":1}