当前位置: 首页 > 知识库问答 >
问题:

“dict”对象没有属性“has\u key”

尹赞
2023-03-14

在Python中遍历图形时,我收到了这个错误:

“dict”对象没有属性“has\u key”

这是我的密码:

def find_path(graph, start, end, path=[]):
    path = path + [start]
    if start == end:
        return path
    if not graph.has_key(start):
        return None
    for node in graph[start]:
        if node not in path:
            newpath = find_path(graph, node, end, path)
            if newpath: return newpath
    return None

该代码旨在找到从一个节点到其他节点的路径。代码来源:http://cs.mwsu.edu/~terry/courses/4883/lectures/graphs.html

为什么我会出现这个错误?我如何修复它?

共有3个答案

米裕
2023-03-14

has_key在Python 3.0中已被弃用。或者,您可以使用“in”

graph={'A':['B','C'],
   'B':['C','D']}

print('A' in graph)
>> True

print('E' in graph)
>> False
陶柏
2023-03-14

在python3中,has_key(key)替换为__contains__(key)

在python3.7中测试:

a = {'a':1, 'b':2, 'c':3}
print(a.__contains__('a'))
姚和顺
2023-03-14

has_key在Python 3中被删除。从留档:

  • 删除了dict.has_key()-改用运算符中的

这里有一个例子:

if start not in graph:
    return None

 类似资料:
  • 我是python新手,找不到这个问题的答案。参考消息末尾的代码,我可以知道下一行中“for item,total in totals.items()”部分是什么意思吗? 此外,代码失败,并表示 AttributeError:“dict”对象没有属性“Predictor” 当我将代码中“item(s)”的所有实例更改为“predictor(s)”时。为什么会这样?

  • 问题内容: 错误::’dict’对象没有属性’_meta’ 问题答案: 序列化器将等待普通的查询集,而不是(由返回)。如果只想查询某些字段,请使用

  • 在这个错误之前,它已经给了我另一个“xrange不存在”之类的信息,所以我查找了它,并将nx_shp.py文件中的更改为,这似乎解决了这个问题。 根据我所读到的内容,它可能与Python版本(Python2 vs Python3)有关。

  • 问题:我在运行下面的代码时出错。我是新手,不知道如何解决这个问题。creae函数将每个坐标点指定给其自治区。

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建