Tenho o seguinte procedimento:
def myProc(invIndex, keyWord):
D={}
for i in range(len(keyWord)):
if keyWord[i] in invIndex.keys():
D.update(invIndex[query[i]])
return D
Mas estou recebendo o seguinte erro:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
TypeError: cannot convert dictionary update sequence element #0 to a sequence
Não recebo nenhum erro se D contiver elementos. Mas preciso que D esteja vazio no início.
{}
é um dicionário, não um conjunto.D={}
você declara um dicionário vazio, não um conjunto. Você declara um conjunto vazio porS=set()
.Respostas:
D = {}
é um dicionário não definido.Use
D = set()
:fonte
O que você fez é um dicionário e não um conjunto.
O
update
método no dicionário é usado para atualizar o novo dicionário de um anterior, assim,Enquanto em conjuntos, é usado para adicionar elementos ao conjunto.
fonte
Quando você atribui uma variável a chaves vazias {} por exemplo:,
new_set = {}
ela se torna um dicionário. Para criar um conjunto vazio, atribua a variável a um 'conjunto ()', ou seja:new_set = set()
fonte