千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

首页 视频教程 培训课程 师资团队 技术干货 常见问题 面试题 职场就业 零基础学Python 行业资讯
【热点话题】 Python技术干货 Python学习教程 Python学习笔记 Python面试题 Python培训问答 Python培训机构哪些好 Python职场就业
当前位置:Python培训  >  Python技术干货  >  Python培训:如何实现穷举搜索?

Python培训:如何实现穷举搜索?

来源:千锋教育
发布人:wjy
时间: 2022-10-27 16:57:00 1666861020

  穷举搜索就是在整个搜索空间范围内尝试每一种可能性,直到找到目标值或者整个搜索空间都找完也没有找到目标值。最常见的穷举搜索就是线性搜索,即按照顺序简单检查所有不同的可能性。

  例如:2个警察追逐强盗到了一个废弃旅馆的二楼走廊,走廊有30道门,全部关闭,其中一个警察已经封锁了对面的楼梯,该如何找到强盗呢?

千锋教育

  第一个解决方案如下:

  随机打开一扇门,没有强盗,再随机打开一扇门……?

  按照以上方法,特警如果运气好,可能一下就找到了;运气不好时,可能有的门找了很多遍,有的门呢一次都没找。这样就有可能出现遗漏和重复,反而找不到需要的信息。处理这种搜索空间不是很大的情况下最佳的就是穷举搜索。

  第二个解决方案搜索整个楼层,把所有门打开

  如何用代码实现,如下:

  通过index实现:

  listdata=[1,2,3,4,5,6]

  x=3

  i=listdata.index(x)

  if(i>=0 and i<len(listdata)):< p="">

  print(x,'is in data')

  else:

  print('{}is not in list'.format(x))

  #异常处理

  try:

  i=listdata.index(x)

  except ValueError:

  print('{}is not in list'.format(x))

  else:

  if(i>=0 and i<len(listdata)):< p="">

  print(x,'is in data')

  通过in判断:

  listdata=[1,2,3,4,5,6]

  x=3

  if(x in listdata):

  print('1:',x,'is in data')

  else:

  print('1:{}is not in list'.format(x))

  当然代码的方式肯定不止以上两种,而正则表达式解决的是很多复杂的匹配,比如查找所有以‘a’开头的,或者找所有包含3个数字的这种更一般性的问题用正则表达式是更方便的。也可以使用循环实现穷举搜索。当然,Python中的list自己就有许多函数可以实现查找。

  注:本文文字内容来源于网络,如有侵权,请联系删除。版权归原作者所有!

 

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

最新文章NEW

相关推荐HOT

更多>>