Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从链表中找到第一个索引,在Python中使用递归找到特定的值_Python_Python 3.x_Indexing_Linked List - Fatal编程技术网

如何从链表中找到第一个索引,在Python中使用递归找到特定的值

如何从链表中找到第一个索引,在Python中使用递归找到特定的值,python,python-3.x,indexing,linked-list,Python,Python 3.x,Indexing,Linked List,我有一个基本的单链表,我试图从链表中找到第一个索引,其中使用递归找到特定的值。我已按以下方式初始化了链接列表: class Linkedlist: def __init__(self, value, tail): self.value = value self.tail = tail 在这之后,还有其他方法可以很好地工作,但问题是如何返回链表中的第一个索引,在那里可以找到值x?我尝试了下一个,但它只适用于第一个索引(0) 我认为问题在于指数总是保持为零

我有一个基本的单链表,我试图从链表中找到第一个索引,其中使用递归找到特定的值。我已按以下方式初始化了链接列表:

class Linkedlist:

    def __init__(self, value, tail):
        self.value = value
        self.tail = tail
在这之后,还有其他方法可以很好地工作,但问题是如何返回链表中的第一个索引,在那里可以找到值x?我尝试了下一个,但它只适用于第一个索引(0)

我认为问题在于指数总是保持为零。如何解决此问题?

index()
需要获取您正在查找的值(
x
)以及最初为0的当前索引

我的假设是:

  • value
    是链接列表的标题
  • tail
    是一个链接列表
  • 如果没有下一个术语,
    tail
    为无
index()
需要获取您正在查找的值(
x
)以及当前索引(最初为0)

我的假设是:

  • value
    是链接列表的标题
  • tail
    是一个链接列表
  • 如果没有下一个术语,
    tail
    为无

不需要传递索引。如果值就在这里,则返回0。否则,在尾部获取索引并添加1

def index(self, x):
    if x == self.value:
        return 0
    return self.tail.index(x) + 1

不需要传递索引。如果值就在这里,则返回0。否则,在尾部获取索引并添加1

def index(self, x):
    if x == self.value:
        return 0
    return self.tail.index(x) + 1

什么是
单元格
?@L0KiZ请详细说明。@mkrieger1它与我的测试不同。应该是链接的List你能更具体一点吗?到底是什么问题?显然问题在于使用额外的索引试图遍历链表,但由于@Heap Overflow,我的问题得到了解决,
单元格是什么?@L0KiZ请详细说明。@mkrieger1这与我的测试不同。应该是链接的List你能更具体一点吗?到底是什么问题?显然问题在于使用额外的索引试图遍历链接列表,但由于@Heap Overflow,我的问题得到了解决
def index(self, x):
    if x == self.value:
        return 0
    return self.tail.index(x) + 1