【问题标题】:How can I add items to an empty set in python如何将项目添加到python中的空集
【发布时间】:2013-07-04 21:04:45
【问题描述】:

我有以下程序:

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 一开始是空的。

【问题讨论】:

标签: python set


【解决方案1】:

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])

【讨论】:

    【解决方案2】:
    >>> d = {}
    >>> D = set()
    >>> type(d)
    <type 'dict'>
    >>> type(D)
    <type 'set'>
    

    你所做的是字典而不是集合。

    dictionary 中的update 方法用于从以前的词典更新新词典,如下所示,

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

    而在集合中,它用于将元素添加到集合中。

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

    【讨论】:

      【解决方案3】:

      当您将变量分配给空大括号 {} 例如:new_set = {} 时,它就变成了字典。 要创建一个空集,请将变量分配给“set()”,即:new_set = set()

      【讨论】:

        猜你喜欢
        • 2015-06-18
        • 1970-01-01
        • 2018-08-11
        • 2022-01-25
        • 2010-11-15
        • 1970-01-01
        • 1970-01-01
        • 2021-12-26
        • 2015-12-20
        相关资源
        最近更新 更多