精华内容
下载资源
问答
  • 今天小编就为大家分享一篇Python实现在某个数组中查找一个的算法示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 第一种算法思路:第一步:随机出来一个数组的下标 第二步:判断下标对应的值是否等于被... 代码如下:#本程序的功能是在字典中查找存在某个值 import random di = {'a':1,'b':2,'c':3,'d':4,'e':5,'f':6} key = 2 di

    第一种算法思路:

    第一步:随机出来一个数组的下标
    第二步:判断下标对应的值是否等于被查找的值,是的话终止,已找到,否的话转第三步。
    第三步:判断是否随机完数组的所有下标,是的话终止,没找到,否的话转第一步。
    代码如下:

    #本程序的功能是在字典中查找存在某个值
    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)
    

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

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...
    import java.util.Scanner;
    public class Test21 {
    
    	public static void main(String[] args) {
    		//定义并初始化数组
    		int[] arr = {22,33,44,55,66,7,2,5,24};
    		//定义并初始化Scanner对象,用于获取输入键盘输入的内容
    		Scanner scanner = new Scanner(System.in);
    		//输出信息
    		System.out.print("请输入需要查找的数字:");
    		//获取键盘输入要查找的数字
    		int target = scanner.nextInt();
    		//循环数组
    		for(int i  = 0; i < arr.length; i++) {
    			//如果输入的数字跟当前数组的元素的值相同
    			if(target == arr[i]) {
    				//输入所在位置,从1开始
    				System.out.println(target + "位于数字的第" + (i + 1) + "位");
    				//结束
    				return;
    			}
    		}
    		//如果找不到的话就提示一下
    		System.out.println("数组中不存在数字:" + target);
    	}
    
    }

    转载于:https://my.oschina.net/mcxiaobing/blog/685032

    展开全文
  • python列表中查找某个元素的索引

    万次阅读 多人点赞 2019-05-15 22:35:06
    在平时开发过程,经常遇到需要在数据获取特定的元素的信息, 如到达目的地最近的车站,橱窗里面...方法一: 利用数组自身的特性 a.index(target), 其中a是你的目标list,target是你需要的下标对应的 a=[72...

     原文:https://blog.csdn.net/qq_24737639/article/details/78839678 

    在平时开发过程中,经常遇到需要在数据中获取特定的元素的信息,

    如到达目的地最近的车站,橱窗里面最贵的物品等等。怎么办?看下面

    方法一: 利用数组自身的特性 a.index(target), 其中a是你的目标list,target是你需要的下标对应的值

    a=[72, 56, 76, 84, 80, 88]
    print(a.index(76))
    output:
    2

    但是,如果a中有多个76呢?
    我们发现,这种方法仅仅能获取都第一个匹配的value的下标(可以试试o_o)

    所以,我们看看我们的第二种方案:

    方法二: 利用enumerate函数。废话少说,看例子

    哎哟,原来enumerate的输出类型是tuple!tuple!tuple! 所以,我们可以如下

    再看,如果a中有多个‘76’呢?

    可见,list的index()方法是在list中找到第一个匹配的值。

    而enumerate是将list(当然,也包含其它类型)中的元素元组化,然后我们利用循环方法获取相应的匹配的结果。所以方案二对于重复的数值能够一个不漏的get出来。

    展开全文
  • python列表中查找某个元素的索引

    万次阅读 2020-03-19 09:38:52
    1、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的。代码如下: 可知索引为2。但是如果a有多个76元素,这种方法仅仅能获取都第一个匹配的value的下标索引。 2、...

    1、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的值。代码如下:

    可知索引为2。但是如果a中有多个76元素,这种方法仅仅能获取都第一个匹配的value的下标索引。

    2、方法二:利用enumerate函数。

    代码如下:

    运行结果:

    扩展资料:

    python通过索引的操作(Python包含6种内建序列:列表、元组、字符串、Unicode字符串、buffer对象、xrange对象):

    1、索引:

    负数索引与正数索引之间存在一个规律: 当正数索引+负数索引的绝对值=元素的个数,它们所指的是同一个元素。

    2、分片:

    分片用于截取某个范围内的元素,通过:来指定起始区间(左闭右开区间,包含左侧索引值对应的元素,但不包含右测索引值对应的元素)。

    分片包括起始索引对应的元素,但不包括终止索引对应的元素,索引为正值时可以发生越界但只会取到最后一个元素。如果索引值为负值,则表示从最右边元素开始,此时需避免索引越界。

    展开全文
  • python列表中查找某个元素的索引的两种方法 1、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的。代码如下: list1 = [1,7,2,4,5] print(a.index(4)) output: 这种...
  • 二维数组中查找

    2020-01-05 13:52:48
    前言 用了接近一个月时间刷了剑指offer,谈不上...这个题思路就是想要找已经排好序的数组中某个值是否存在,当然可以直接用两层循环,但是出题者肯定不是这个意思。注意是排好序的。看下面的图,我们要做的就是...
  • 1.法1,直接排序,取排序后的数组中的第一个。时间复杂度为o(nlgn) 2.利用题目中的升序排列,可以考虑使用二分查找的方法,时间复杂度为o(lgn) def search_min(alist): if len(alist)<0: return left =0 ...
  • 搜索一个给定的目标,如果数组中存在这个目标,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 链接:https://leetcode.com/problems/search-in-rotated-sorted-array/ Suppose an array ...
  • 相比以往的查找某个元素的位置不同的是: 对firstpos来讲,当当前的mid处的等于k,且mid为数组第一个元素或者,mid处的前一个不为k,则mid为firstpos 对endpos来讲,当当前的mid处的等于k,且mid为数...
  • 编写一个函数来判断给定的目标是否存在于数组中。若存在返回 true,否则返回 false。 链接:https://leetcode.com/problems/search-in-rotated-sorted-array-ii/ Suppose an array sorted in ascending order is ...
  • 1 #二分查找,用于在较大的数据列表查询某个值,考虑到元素比较多,单纯的遍历会造成内存压力过大,考虑使用二分查找 2 #二分查找的关键在于查询中间值,将需要查找的值与中间值进行比较,然后确定查找方向 3...
  • 搜索一个给定的目标,如果数组中存在这个目标,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O(log n) 级别。 思路 二分查找 设置三个索引left right mid,...
  • index() 函数用于从列表找出某个值第一个匹配项的索引位置。 1 list.index(x, start, end) 2 #start end 指示搜索的起始和结尾位置,缺省为整个数组 x-- 查找的对象。 start-- 可选,查找的起始位置。 ...
  • 1、Series概念 类似一维数组的对象,由数据和索引组成 2、Series创建 用Series()函数创建,0,1,2为series结构自带的索引。 ...可以自己指定索引值,...②查找某个值的索引:bSer['a'] >>3 ③*2: bSer*2...
  • python针对性练习

    2019-09-28 07:51:35
    字典的键映射多个 字典排序 字典的运算 查找两字典的相同点 删除序列相同的元素并保持顺序 命令切片 序列出现次数最多的元素 通过某个关键字排序一个字典数组 排序不支持原生比较的对象 通过某个字段...
  • Python基础---字典

    2020-11-02 16:06:45
    列表某个元素时,是根据下标进行的,如果下标很多,查找数据不方便。当索引不好用时,使用字典,是你最好的选择。 3、因为字典是无序的,所以字典没有索引; 因为字典没有索引,所以字典以键取值,(字典的...
  • 二分搜索应用

    2015-06-03 10:53:28
    例如在数组中查找比7大的数为8,比7小的数为6,如果能查找到则返回对应数的索引。如果返回的索引查处的数组sums的取值范围说明没找到合适的 0 1 2 3 4 5 0 2 5 6 8 12 -查找比某个数大的第一个数Python...
  • 查找某个元素在数组中出现的次数 ,count的运用 a = ['a','b','c','c','c','a'] print(a.count('c')) 二.把一个元素插入到另一个元素的末尾,extend。如下面,把b里面的赋予给a。 a = ['a','b','c'] b = ['...
  • python cookbook(第3版)

    2016-01-06 22:24:38
    1.6 字典的键映射多个 1.7 字典排序 1.8 字典的运算 1.9 查找两字典的相同点 1.10 删除序列相同元素并保持顺序 1.11 命名切片 1.12 序列出现次数最多的元素 1.13 通过某个关键字排序一个字典列表 ...
  • MYSQL中文手册

    2013-03-11 21:21:34
    3.6.4. 拥有某个字段的组间最大的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项...
  • 面试题3:二维数组中查找:对于在一个每一行从左到右依次递增,每一列从上到下依次递增的二维数组查找一个元素,可以选择从数组左上角开始查找array[i][j],如果目标元素大于array[i][j],i+=1,如果元素小于array...
  • 3.6.4. 拥有某个字段的组间最大的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2....
  • MySQL 5.1中文手冊

    2009-12-11 09:43:12
    3.6.4. 拥有某个字段的组间最大的行 3.6.5. 使用用户变量 3.6.6. 使用外键 3.6.7. 根据两个键搜索 3.6.8. 根据天计算访问量 3.6.9. 使用AUTO_INCREMENT 3.7. 孪生项目的查询 3.7.1. 查找所有未分发的孪生项 3.7.2....

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

python数组中查找某个值

python 订阅