如何在python中将项添加到空集

use*_*774 98 python set

我有以下程序:

def myProc(invIndex, keyWord):
    D={}
    for i in range(len(keyWord)):
        if keyWord[i] in invIndex.keys():
                    D.update(invIndex[query[i]])
    return D
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误:

Traceback (most recent call last):
  File "<stdin>", line 3, in <module>
TypeError: cannot convert dictionary update sequence element #0 to a sequence
Run Code Online (Sandbox Code Playgroud)

如果D包含元素,我不会收到任何错误.但是我需要D在开始时是空的.

Ash*_*ary 181

D = {} 是一个未设置的字典.

>>> d = {}
>>> type(d)
<type 'dict'>
Run Code Online (Sandbox Code Playgroud)

用途 D = set():

>>> d = set()
>>> type(d)
<type 'set'>
>>> d.update({1})
>>> d.add(2)
>>> d.update([3,3,3])
>>> d
set([1, 2, 3])
Run Code Online (Sandbox Code Playgroud)


Suk*_*lra 19

>>> d = {}
>>> D = set()
>>> type(d)
<type 'dict'>
>>> type(D)
<type 'set'>
Run Code Online (Sandbox Code Playgroud)

你所做的是字典而不是字典.

update字典中的方法用于从前一个字典更新新字典,如下所示,

>>> abc = {1: 2}
>>> d.update(abc)
>>> d
{1: 2}
Run Code Online (Sandbox Code Playgroud)

而在集合中,它用于向集合添加元素.

>>> D.update([1, 2])
>>> D
set([1, 2])
Run Code Online (Sandbox Code Playgroud)