Skip to main content
 首页 » 编程设计

python错误 'dict'对象没有属性: 'add'

2025年05月04日14wayfarer

我编写这段代码是为了在字符串列表中执行一个简单的搜索引擎,如下例所示:

mii(['hello world','hello','hello cat','hellolot of cats']) == {'hello': {0, 1, 2}, 'cat': {2}, 'of': {3}, 'world': {0}, 'cats': {3}, 'hellolot': {3}} 

但我总是报错

'dict' object has no attribute 'add' 

我该如何解决?

def mii(strlist): 
    word={} 
    index={} 
    for str in strlist: 
        for str2 in str.split(): 
            if str2 in word==False: 
                word.add(str2) 
                i={} 
                for (n,m) in list(enumerate(strlist)): 
                    k=m.split() 
                    if str2 in k: 
                        i.add(n) 
                index.add(i) 
    return { x:y for (x,y) in zip(word,index)} 

请您参考如下方法:

在 Python 中,当您将一个对象初始化为 word = {} 时,您创建的是一个 dict 对象,而不是一个 set 对象(我认为这就是你想要的)。为了创建一个集合,使用:

word = set() 

您可能对 Python 的集合理解感到困惑,例如:

myset = {e for e in [1, 2, 3, 1]} 

这会导致包含元素 1、2 和 3 的 set。类似地,Dict Comprehension:

mydict = {k: v for k, v in [(1, 2)]} 

生成具有键值对 1: 2 的字典。