zoukankan      html  css  js  c++  java
  • python 获取list某个元素下标

    index() 函数用于从列表中找出某个值第一个匹配项的索引位置。

    1 list.index(x, start, end)
    2 #start end 指示搜索的起始和结尾位置,缺省为整个数组
    • x-- 查找的对象。
    • start-- 可选,查找的起始位置。
    • end-- 可选,查找的结束位置。

    如果 list 存储了若干复杂结构的值,比如这样的一个列表:

    temp = [('a', 1, 1.5),
            ('b', 2, 5.1),
            ('c', 9, 4.3)]

    你想找到其中是 ('b', XX, XX) 这样的元素,其中 XX 可以为任意值。这种情况无法通过 index 函数来获得,我们可以利用 sort 的 key 参数来实现。

    list.sort(或者 sorted 函数)有一个 key 参数,你可以提供一个函数来作为排序的依据。此时我们可以传入以下值:

    temp.sort(key = lambda x:x[0]!='b')

    随后我们会发现,所有形如 ('b', XX, XX) 的元素全部浮动到了列表的头部,此时我们访问 temp[0] 就可以获得想要查找的值了。

    我们也可以写一个简单的函数:

    findindex = lambda self,i,value:sorted(self,key=lambda x:x[i]!=value)[0]

    那我们只需要这样调用:

    >>> findindex(temp,0,'b')

    就会返回它找到的第一个值:

    >>> ('b',2)
  • 相关阅读:
    HTML5 文件上传
    Vue-Router模式、钩子
    网络基础协议随笔
    Vue-Router基础使用
    vue中mixin的一点理解
    纯css3跑马灯demo
    Charles使用笔记
    提个醒。。。
    本机未装Oracle数据库时Navicat for Oracle 报错:Cannot create oci environment 原因分析及解决方案
    easyUI datagrid 清空
  • 原文地址:https://www.cnblogs.com/shanyr/p/11243984.html
Copyright © 2011-2022 走看看