Tengo el siguiente procedimiento:
def myProc(invIndex, keyWord):
D={}
for i in range(len(keyWord)):
if keyWord[i] in invIndex.keys():
D.update(invIndex[query[i]])
return D
Pero recibo el siguiente error:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
TypeError: cannot convert dictionary update sequence element #0 to a sequence
No obtengo ningún error si D contiene elementos. Pero necesito que D esté vacío al principio.
{}
es un diccionario, no un conjunto.D={}
declaras un diccionario vacío, no un conjunto. Declaras un conjunto vacío porS=set()
.Respuestas:
D = {}
es un diccionario no configurado.Utilizar
D = set()
:fuente
Lo que ha hecho es un diccionario y no un conjunto.
El
update
método en el diccionario se usa para actualizar el nuevo diccionario de uno anterior, así,Mientras que en conjuntos, se usa para agregar elementos al conjunto.
fuente
Cuando asigna una variable a llaves vacías {} por ejemplo:,
new_set = {}
se convierte en un diccionario. Para crear un conjunto vacío, asigne la variable a un 'conjunto ()', es decir:new_set = set()
fuente