Ich habe das folgende Verfahren:
def myProc(invIndex, keyWord):
D={}
for i in range(len(keyWord)):
if keyWord[i] in invIndex.keys():
D.update(invIndex[query[i]])
return D
Aber ich bekomme folgenden Fehler:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
TypeError: cannot convert dictionary update sequence element #0 to a sequence
Ich erhalte keine Fehlermeldung, wenn D Elemente enthält. Aber ich brauche D, um am Anfang leer zu sein.
{}
ist ein Wörterbuch, keine Menge.D={}
deklarieren Sie ein leeres Wörterbuch, keine Menge. Sie deklarieren eine leere Menge vonS=set()
.Antworten:
D = {}
ist ein Wörterbuch nicht gesetzt.Verwendung
D = set()
:quelle
Was Sie gemacht haben, ist ein Wörterbuch und kein Set.
Die
update
Methode im Wörterbuch wird verwendet, um das neue Wörterbuch von einem vorherigen zu aktualisieren.Während in Sets verwendet wird, werden Elemente zum Set hinzugefügt.
quelle
Wenn Sie leeren geschweiften Klammern {} eine Variable zuweisen, z. B.:
new_set = {}
, Wird sie zu einem Wörterbuch. Um eine leere Menge zu erstellen, weisen Sie die Variable einer 'Menge ()' zu, dh:new_set = set()
quelle