我如何添加项目到Python中的空集

我有以下程序:

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 = {}是一个没有设置的字典。

 >>> d = {} >>> type(d) <type 'dict'> 

使用D = set()

 >>> d = set() >>> type(d) <type 'set'> >>> d.update({1}) >>> d.add(2) >>> d.update([3,3,3]) >>> d set([1, 2, 3]) 
 >>> d = {} >>> D = set() >>> type(d) <type 'dict'> >>> type(D) <type 'set'> 

你所做的是一本字典,而不是一套。

字典中的update方法用来更新前一个字典中的新字典,像这样,

 >>> abc = {1: 2} >>> d.update(abc) >>> d {1: 2} 

而在集合中,它被用来添加元素到集合中。

 >>> D.update([1, 2]) >>> D set([1, 2])