2013-07-07 83 views
71

我有以下步驟:我如何將項目添加到一個空集蟒蛇

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在一開始就是空的。

+2

'{}'是一本字典,不是一個集合。 –

+1

用'D = {}'行聲明一個空字典,而不是一個集合。你用'S = set()'聲明一個空集。 –

回答

134

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]) 
16
>>> 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]) 
相關問題