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
updatemé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