У меня следующая процедура:
def myProc(invIndex, keyWord):
D={}
for i in range(len(keyWord)):
if keyWord[i] in invIndex.keys():
D.update(invIndex[query[i]])
return D
Но я получаю следующую ошибку:
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
TypeError: cannot convert dictionary update sequence element #0 to a sequence
Я не получаю ошибок, если D содержит элементы. Но мне нужно, чтобы D было пустым в начале.
{}
это словарь, а не набор.D={}
вы объявляете пустой словарь, а не набор. Вы объявляете пустой наборS=set()
.Ответы:
D = {}
словарь не установлен.Использование
D = set()
:источник
Вы сделали словарь, а не набор.
update
Метод в словаре используются для обновления нового словаря из предыдущей, нравится так,В то время как в наборах он используется для добавления элементов в набор.
источник
Когда вы назначаете переменную пустым фигурным скобкам {}, например:,
new_set = {}
она становится словарем. Чтобы создать пустой набор, назначьте переменную set (), т.е.new_set = set()
источник