python如何在列表中查找元素位置_查找元素在list中的位置以及折半查询
问题
查找某个值在list中的位置
解决思路
能够用折半查询的方法解决此问题。
解决(Python)
#! /usr/bin/env python
#coding:utf-8
#折半查找某个元素在list中的位置
def half_search(lst,value,left,right):
length = len(lst)
while left
middle = (right-left)/2
if lst[middle]>value:
right = middle-1
elif lst[middle]
left = middle+1
else:
return middle
if __name__=="__main__":
lst=sorted([2,4,5,9]) #折半算法中list要进行排序
length = len(lst)
left = 0
right = length-1
value =4
result = half_search(lst,value,left,right)
if result:
print result
else:
print "There is no the value that you want to search."
再思考
对于上面的折半方法,在python中,能够通过一个函数实现
lst = sorted([2,4,5,9]) #这里进行排序。主要是为了得到与上面方法一样的结果。其实,list.index()能够针对不论什么list操作,不一定非要排序
result = lst.index(4)
此外。假设遇到list中有多个同样的元素。应该怎样将这些元素的位置都查询出来呢?以下的方法是用python实现。
def find_value_location(lst,value):
result = [i for i in range(len(lst)) if value==lst[i]]
return result
qiwsir#gmail.com
python如何在列表中查找元素位置_查找元素在list中的位置以及折半查询相关推荐
- 统计并输出某给定字符在给定字符串中出现的次数_查找常用字符
给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表.例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 ...
- 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...
[推荐阅读]资料下载QQ群:562718785(软件下载.精美PPT模板下载) [Excel视频教学]求和及快速求和 [Excel视频教学]跨表快速求和 [Excel视频教学]函数-相对绝对混合引用 ...
- python元组和列表都支持的方法_(3)python 列表和元组
列表 元组 字段 等都是一种数据结构.其中列表和元组比较相似都是顺序保存的,都可以通过索引来找到元素. 列表和元组的主要区别:列表是可以修改的,元组不可以修改.列表用[]表示,元组用()表示 一.列表 ...
- 如何获取元素在父级div里的位置_关于元素的浮动你了解多少
首先,在介绍什么是浮动之前我们先介绍一下html中元素的普通流布局方式.在普通流中,元素是按照它在 HTML 中的出现的先后顺序自上而下依次排列布局的,在排列过程中所有的行内元素水平排列,直到当行被占 ...
- 中如何移动物体在画面中的位置_组合柜摆在客厅中什么位置最旺运?客厅中,财位是如何确定的?...
组合柜摆在客厅中什么位置最旺运? 组合柜在风水中的重要性不如沙发,但要注意的宜忌事项也有很多. 风水上讲高者为山,低者为水,有高有低,有山有水,才符合风水原理.在客厅中,低的沙发是水,高的组合柜是山, ...
- ux设计中的各种地图_如何在UX设计中使用颜色
ux设计中的各种地图 Color is the mother tongue of the subconscious. 颜色是潜意识的母语. - Carl Jung -荣格 Color has more ...
- IntelliJ IDEA 如何知道项目中的模块数据_如何从项目源中选择模块加入当前项目中(添加模块)_如何移除项目中的模块(移除模块/删除模块)
文章目录 IDEA 如何获取项目的模块数据 从项目源中选择模块加入当前项目中 如何移除项目中的模块 方式一,选择模块的根目录(Content Root),鼠标右键 Remove 方式二,打开[项目结构 ...
- excel中 复制工作表_如何在Excel 2013中轻松移动或复制工作表
excel中 复制工作表 There may be times when you want to create a new Excel worksheet based on an existing w ...
- verilog中数组的定义_开源仿真工具Icarus Verilog中的verilog parser
前面提到用flex和bison开处理命令行参数,回顾一下:开源仿真工具Icarus Verilog中的命令行参数处理方法. 那么Verilog的parser又是怎么实现的呢?简单地说,与做命令行参数的 ...
最新文章
- 图神经网络从入门到入门
- 【转】MySQL分库分表环境下全局ID生成方案
- 浙江大学计算机与机械工程,中国26所“机械工程”大学经调整、合并,浙大、西交、同济升级...
- SAP配置webdynpro完全手册
- linux逻辑分区最小值,linux 逻辑卷管理 调整分区大小
- 经典面试题|讲一讲JVM的组成
- 中台实践:新汽车行业的业务、技术和平台转型
- 流量主系列|微信AI人脸转换小程序源码
- CCF认证-2014-12-2 Z字形扫描
- php笔试有多少分钟,PHP研发工程师笔试题(半小时)
- Linq原理相关(隐式类型var、匿名类型、实例化类、集合初始化)
- SQL语句处理一些修改、新增、删除、修改属性操作(MySql)
- mybatis三表联合查询
- VirtualBox运行出现“0x00000000指令引用的0x00000000内存。该内存不能为written”
- NFT头像屡拍天价,如何从理性角度分析其市场价值?
- FPGA开发中常见报错或警告汇总
- 项目管理-成熟度模型、量化项目管理
- Android 集成极光推送和厂商通道
- elasticsearch定时删除过期索引index
- Unity3D 2D射击小游戏瞄准线的实现
热门文章
- VWware Vsphere 实战记录一、vsphere简介及相关名词介绍
- socket 套接字
- 算法设计 - LCS 最长公共子序列最长公共子串 LIS 最长递增子序列
- 2014计算机一级选择题,计算机一级选择题题库2014含答案
- 软件测试都需要哪些工具呢?一文带你看清
- java从内存角度理解类变量_深入理解volatile类型——从Java虚拟机内存模型角度...
- 今日问题:如果开发总是延迟提测时间,该怎么办呢?
- java输入年月判断当月天数_java输入月份,年份,显示对应月份的天数,
- postman导出Collections后再导入时,打开内容为空
- 用c语言计算星期,计算任何一天是星期几的C语言源代码.