问题

查找某个值在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中的位置以及折半查询相关推荐

  1. 统计并输出某给定字符在给定字符串中出现的次数_查找常用字符

    给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表.例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 ...

  2. 创建了一个表之后怎么再次在表中添加字段和字段显示位置_筛选数据透视表中的数据...

    [推荐阅读]资料下载QQ群:562718785(软件下载.精美PPT模板下载) [Excel视频教学]求和及快速求和 [Excel视频教学]跨表快速求和 [Excel视频教学]函数-相对绝对混合引用 ...

  3. python元组和列表都支持的方法_(3)python 列表和元组

    列表 元组 字段 等都是一种数据结构.其中列表和元组比较相似都是顺序保存的,都可以通过索引来找到元素. 列表和元组的主要区别:列表是可以修改的,元组不可以修改.列表用[]表示,元组用()表示 一.列表 ...

  4. 如何获取元素在父级div里的位置_关于元素的浮动你了解多少

    首先,在介绍什么是浮动之前我们先介绍一下html中元素的普通流布局方式.在普通流中,元素是按照它在 HTML 中的出现的先后顺序自上而下依次排列布局的,在排列过程中所有的行内元素水平排列,直到当行被占 ...

  5. 中如何移动物体在画面中的位置_组合柜摆在客厅中什么位置最旺运?客厅中,财位是如何确定的?...

    组合柜摆在客厅中什么位置最旺运? 组合柜在风水中的重要性不如沙发,但要注意的宜忌事项也有很多. 风水上讲高者为山,低者为水,有高有低,有山有水,才符合风水原理.在客厅中,低的沙发是水,高的组合柜是山, ...

  6. ux设计中的各种地图_如何在UX设计中使用颜色

    ux设计中的各种地图 Color is the mother tongue of the subconscious. 颜色是潜意识的母语. - Carl Jung -荣格 Color has more ...

  7. IntelliJ IDEA 如何知道项目中的模块数据_如何从项目源中选择模块加入当前项目中(添加模块)_如何移除项目中的模块(移除模块/删除模块)

    文章目录 IDEA 如何获取项目的模块数据 从项目源中选择模块加入当前项目中 如何移除项目中的模块 方式一,选择模块的根目录(Content Root),鼠标右键 Remove 方式二,打开[项目结构 ...

  8. excel中 复制工作表_如何在Excel 2013中轻松移动或复制工作表

    excel中 复制工作表 There may be times when you want to create a new Excel worksheet based on an existing w ...

  9. verilog中数组的定义_开源仿真工具Icarus Verilog中的verilog parser

    前面提到用flex和bison开处理命令行参数,回顾一下:开源仿真工具Icarus Verilog中的命令行参数处理方法. 那么Verilog的parser又是怎么实现的呢?简单地说,与做命令行参数的 ...

最新文章

  1. 图神经网络从入门到入门
  2. 【转】MySQL分库分表环境下全局ID生成方案
  3. 浙江大学计算机与机械工程,中国26所“机械工程”大学经调整、合并,浙大、西交、同济升级...
  4. SAP配置webdynpro完全手册
  5. linux逻辑分区最小值,linux 逻辑卷管理 调整分区大小
  6. 经典面试题|讲一讲JVM的组成
  7. 中台实践:新汽车行业的业务、技术和平台转型
  8. 流量主系列|微信AI人脸转换小程序源码
  9. CCF认证-2014-12-2 Z字形扫描
  10. php笔试有多少分钟,PHP研发工程师笔试题(半小时)
  11. Linq原理相关(隐式类型var、匿名类型、实例化类、集合初始化)
  12. SQL语句处理一些修改、新增、删除、修改属性操作(MySql)
  13. mybatis三表联合查询
  14. VirtualBox运行出现“0x00000000指令引用的0x00000000内存。该内存不能为written”
  15. NFT头像屡拍天价,如何从理性角度分析其市场价值?
  16. FPGA开发中常见报错或警告汇总
  17. 项目管理-成熟度模型、量化项目管理
  18. Android 集成极光推送和厂商通道
  19. elasticsearch定时删除过期索引index
  20. Unity3D 2D射击小游戏瞄准线的实现

热门文章

  1. VWware Vsphere 实战记录一、vsphere简介及相关名词介绍
  2. socket 套接字
  3. 算法设计 - LCS 最长公共子序列最长公共子串 LIS 最长递增子序列
  4. 2014计算机一级选择题,计算机一级选择题题库2014含答案
  5. 软件测试都需要哪些工具呢?一文带你看清
  6. java从内存角度理解类变量_深入理解volatile类型——从Java虚拟机内存模型角度...
  7. 今日问题:如果开发总是延迟提测时间,该怎么办呢?
  8. java输入年月判断当月天数_java输入月份,年份,显示对应月份的天数,
  9. postman导出Collections后再导入时,打开内容为空
  10. 用c语言计算星期,计算任何一天是星期几的C语言源代码.