python - 检查元素是否在链表中
问题描述
我正在尝试实现一种方法,该方法返回特定索引处的节点索引。当元素存在时,我可以成功检索索引;但是,当我没有收到错误“NoneType”对象没有属性“数据”时,我不太明白为什么会发生这种情况。这是我的链表和节点类
class Node:
def __init__(self,data = None,next = None):
self.data = data
self.next = next
class Listy:
def __init__(self):
self.head = None
这是我的 get_index 函数
def get_index(self,key):
temp = self.head
count = 0
while temp.data != key:
temp = temp.next
count += 1
print(count)
谢谢您的帮助
解决方案
你得到一个错误,因为你试图在while循环中获取'temp'的属性'data',但你的'temp'是'None',因为你将它分配给'self.head'实际上是'None'空列表。我希望这是有道理的
推荐阅读
- reactjs - Redux Thunk - 是否可以取消 setTimeout
- java - 为什么 Android 中的 java 源代码有三个目录/文件夹?
- python - 将json数据存储到熊猫中
- c# - HTML 5 - 做什么
做? - groovy - 在 jenkinsfile 的 shell 执行步骤中访问 groovy 变量
- angularjs - angular-gettext 不会从 .PO 文件中选择字符串
- r - R:尝试将时间 AM/PM 值转换为 24 小时时出现问题
- php - 获取在现有 Symfony 3.4 应用程序中运行的 API 平台文档
- php - 如何将绑定变量用于 mySql 表的 inidcate 列?
- node.js - 意外的令牌......在 VSCode ESLint + Prettier