Ich bin neu in Python und Programmierung im Allgemeinen. Ich arbeitete an Pyschool-Übungen Thema 8, Q 11 über das Konvertieren von Wörterbuch zu Spare Vectore.Python: Dictionary to Spare Vector
Ich wurde gebeten, eine Funktion zu schreiben, die ein Wörterbuch zurück in seine Ersatzvektordarstellung konvertiert.
Beispiele
>>> convertDictionary({0: 1, 3: 2, 7: 3, 12: 4})
[1, 0, 0, 2, 0, 0, 0, 3, 0, 0, 0, 0, 4]
>>> convertDictionary({0: 1, 2: 1, 4: 2, 6: 1, 9: 1})
[1, 0, 1, 0, 2, 0, 1, 0, 0, 1]
>>> convertDictionary({})
[]
Ich habe viele Male versucht. die neuesten Code unten ich habe:
def convertDictionary(dictionary):
k=dictionary.keys()
v=dictionary.values()
result=[]
for i in range(0,max(k)):
result.append(0)
for j in k:
result[j]=v[k.index(j)]
return result
Der zurück Fehler ist:
Traceback (most recent call last):
File "Code", line 8, in convertDictionary
IndexError: list assignment index out of range
mir jemand helfen könnte? Ich danke dir sehr!
Sie versuchen, auf Listenelemente zuzugreifen, bevor die Liste erstellt wurde. Erstellen Sie zunächst eine Liste aller Nullen 'vector = [0] * max (k)'. Verwenden Sie dann Ihre innere Schleife, um Nicht-Nullen zu aktualisieren. – DyZ