【问题标题】:Python recursive function to obtain next item on a list [duplicate]Python递归函数获取列表中的下一项[重复]
【发布时间】:2019-05-05 23:22:21
【问题描述】:

我对递归很陌生,我必须为我的作业解决一个问题,该问题要求定义一个递归函数来获取列表中给定项目的下一个元素。 我做了迭代版本,但我不明白如何编写递归版本。

def next_value(lst,v):
   ind = lst.index(v)
   list1_result = lst[ind+1]
   return list1_result

a = [4, 2, 10, 3, 2, 5]
print(next_value(a,10))

# output: 3

【问题讨论】:

  • 我会咨询this链接

标签: python recursion


【解决方案1】:

您的解决方案看起来不错,但如果它绝对必须是递归的,这里有一个示例实现:

def next_value(lst, v):
  if (len(lst) < 2):
    return None
  if (lst[0] == v):
    return lst[1]
  return next_value(lst[1:], v)

基本上,我们从相同的list 传递切片,直到找到具有给定值的元素。如果长度小于 2,则列表要么是空的,要么我们已经查看了所有内容。在这种情况下,我们返回None 表示没有有效的答案。

【讨论】:

    猜你喜欢
    • 2016-06-28
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 2015-07-17
    • 1970-01-01
    • 2022-06-28
    相关资源
    最近更新 更多