python二维列表元素的查找_递归地在二维列表中搜索特定元素

现在,作为序言,我同意上面的评论讨论,不建议在python中对没有参数的函数进行递归搜索,因为根据搜索的工作方式以及它如何访问global变量,您可能会遇到问题,而且您实际上是在进行“受治理”的迭代搜索通过一个函数,也就是说,它只决定增加什么和什么时候。在

要以您描述的方式正确地进行迭代搜索,可以将findStart转换为包装函数:

(建议):def findStart(mazeList):

return findStartRec(mazeList,0,0)

或者:

mazeList=。。。#定义mazeList

定义查找开始(mazeList):

返回findStartRec(mazeList,0,0)

然后解决:

^{pr2}$

为我工作:>>> findStartRec(mazeList)

(1, 1)

然后先定义无参数函数:maze = """####################################

#S# ## ######## # # # # #

# # # # # # #

# # ##### ## ###### # ####### # #

### # ## ## # # # #### #

# # # ####### # ### #E#

####################################"""

mazeList = [[x for x in row] for row in maze.split('\n')]

def findStart():

return findStartRecu(mazeList,0,0)

然后打电话:>>> findStart()

(1,1)

最后要说明的是,这并不是递归搜索的最佳应用程序,因为这种搜索存在于非常明确和已知的边界内,即它是矩形的。递归搜索更适合于树、链表等非线性形状的数据结构,因为不可能使用for循环这样的有限映射来真正搜索它们。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值