Python实现在某个数组中查找一个值的算法示例


Posted in Python onJune 27, 2018

第一种算法思路:

第一步:随机出来一个数组的下标

第二步:判断下标对应的值是否等于被查找的值,是的话终止,已找到,否的话转第三步。

第三步:判断是否随机完数组的所有下标,是的话终止,没找到,否的话转第一步。

代码如下:

#本程序的功能是在字典中查找存在某个值
import random
di = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6}
key = 2
di1 = {}
while True:
 tmp = random.choice(di.keys()) #随机
 if di[tmp] == key:
  print 'ok'    #已找到key值
  break
 di1.update({tmp:di[tmp]}) #更新字典di1
 if di1 == di:    #判断是否随机到了字典中的所有值,来决定是否接着循环
  print 'no'
  break

第二种算法思路:

线性查找法,即在数组中顺序的查找key值,找到就终止,没找到的话,一直查找到数组的末尾。

代码如下:

# -*- encoding:utf-8 -*-
li = [1,2,3,4,5,6]
key = 90
i = len(li)-1
while i >= 0:
 if li[i] == key:
  print '在li[%d]的处找到key值' % i
  break
 i -= 1
else:
 print '没找到'

第三种算法思路:

实际上是递归的二分查找算法,代码如下:

#python实现递归的二分查找算法
li = [1,2,3,4,5,6,7]
def find(li,key):
 if len(li)==1:
  if li[0] == key:
   return True
  return False
 m = len(li)/2
 if find(li[:m],key) or find(li[m:],key):
  return True
 else:
  return False
print find(li,8)

对于算法的代码实现还有待优化,对于上述三种算法的运行时间,因本人才疏学浅,还没有具体分析。

以上这篇Python实现在某个数组中查找一个值的算法示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
linux下安装easy_install的方法
Feb 10 Python
python实现dict版图遍历示例
Feb 19 Python
从零学python系列之数据处理编程实例(二)
May 22 Python
Python实现包含min函数的栈
Apr 29 Python
使用python实现生成用户信息
Mar 20 Python
浅谈python内置变量-reversed(seq)
Jun 21 Python
python基础教程项目三之万能的XML
Apr 02 Python
详解numpy的argmax的具体使用
May 27 Python
python中p-value的实现方式
Dec 16 Python
Python Web项目Cherrypy使用方法镜像
Nov 05 Python
Python趣味实战之手把手教你实现举牌小人生成器
Jun 07 Python
python如何利用cv2.rectangle()绘制矩形框
Dec 24 Python
使用Python对微信好友进行数据分析
Jun 27 #Python
python实现列表中由数值查到索引的方法
Jun 27 #Python
numpy返回array中元素的index方法
Jun 27 #Python
Python 查看list中是否含有某元素的方法
Jun 27 #Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 #Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
Jun 27 #Python
python numpy和list查询其中某个数的个数及定位方法
Jun 27 #Python
You might like
简单解析PHP程序的运行流程
2016/06/23 PHP
PHP运用foreach神奇的转换数组(实例讲解)
2018/02/01 PHP
iis6+javascript Add an Extension File
2007/06/13 Javascript
Firefox和IE浏览器兼容JS脚本写法小结
2008/07/07 Javascript
iframe里面的元素触发父窗口元素事件的jquery代码
2014/10/19 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
JavaScript简单获取页面图片原始尺寸的方法
2016/06/21 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
JS实现获取图片大小和预览的方法完整实例【兼容IE和其它浏览器】
2017/04/24 Javascript
Angularjs上传文件组件flowjs功能
2017/08/07 Javascript
解决Vue的项目使用Element ui 走马灯无法实现的问题
2020/08/03 Javascript
[00:31]DOTA2荣耀之路7:Miracle-空血无敌斩
2018/05/31 DOTA
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
20招让你的Python飞起来!
2016/09/27 Python
python运行时强制刷新缓冲区的方法
2019/01/14 Python
python3 写一个WAV音频文件播放器的代码
2019/09/27 Python
python脚本实现音频m4a格式转成MP3格式的实例代码
2019/10/09 Python
Python SELENIUM上传文件或图片实现过程
2019/10/28 Python
Python操作多维数组输出和矩阵运算示例
2019/11/28 Python
Python实现检测文件的MD5值来查找重复文件案例
2020/03/12 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Selenium使用Chrome模拟手机浏览器方法解析
2020/04/10 Python
10分钟理解CSS3 FlexBox弹性布局
2018/12/20 HTML / CSS
CSS3实现菜单悬停效果
2020/11/17 HTML / CSS
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
英国著名书店:Foyles
2018/12/01 全球购物
乐高西班牙官方商店:LEGO Shop ES
2019/12/01 全球购物
旅行社各个岗位职责
2014/03/15 职场文书
《蝙蝠和雷达》教学反思
2014/04/23 职场文书
党员学习正风肃纪思想汇报
2014/09/12 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
超市员工辞职信范文
2015/05/12 职场文书
Python办公自动化之教你用Python批量识别发票并录入到Excel表格中
2021/06/26 Python