精华内容
下载资源
问答
  • python获取列表某个值的索引

    千次阅读 2020-12-22 16:17:02
    利用a.index(target) 其中a是目标list,target是需要的目标 a = [1,5,8,9,b] print(a.index(5)) #输出索引为1 获取最值的索引: index.(max(s)) index.(min(s))
    
    利用a.index(target)
    

    其中a是目标list,target是需要的目标值

    a = [1,5,8,9,b]
    print(a.index(5))
    #输出索引值为1
    

    获取最值的索引:

    index.(max(s))
    index.(min(s))
    
    展开全文
  • 以上这篇python 返回列表中某个值的索引方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python获取元素在数组中索引号的方法Python打印输出数组中...
  • i不引用索引标签,i是基于0的索引。相反,属性索引返回实际索引标签,而不是数字行索引:df[df['BoolCol'] == True].index.tolist()或者等同地,df[df['BoolCol']].index.tolist()你可以通过使用DataFrame来清楚地...

    df.iloc [i]返回df的第i行。 i不引用索引标签,i是基于0的索引。

    相反,属性索引返回实际索引标签,而不是数字行索引:

    df[df['BoolCol'] == True].index.tolist()

    或者等同地,

    df[df['BoolCol']].index.tolist()

    你可以通过使用DataFrame来清楚地看到差异

    “不寻常”指数:

    df = pd.DataFrame({'BoolCol': [True, False, False, True, True]},

    index=[10,20,30,40,50])

    In [53]: df

    Out[53]:

    BoolCol

    10 True

    20 False

    30 False

    40 True

    50 True

    [5 rows x 1 columns]

    In [54]: df[df['BoolCol']].index.tolist()

    Out[54]: [10, 40, 50]

    如果要使用索引标签,

    In [56]: idx = df[df['BoolCol']].index.tolist()

    In [57]: idx

    Out[57]: [10, 40, 50]

    那么您可以使用loc而不是iloc来选择行:

    In [58]: df.loc[idx]

    Out[58]:

    BoolCol

    10 True

    40 True

    50 True

    [3 rows x 1 columns]

    注意loc也可以接受布尔数组:

    In [55]: df.loc[df['BoolCol']]

    Out[55]:

    BoolCol

    10 True

    40 True

    50 True

    [3 rows x 1 columns]

    如果你有一个布尔数组,掩码和需要序数索引值,你可以使用np.flatnonzero计算:

    In [110]: np.flatnonzero(df['BoolCol'])

    Out[112]: array([0, 3, 4])

    使用df.iloc按顺序索引选择行:

    In [113]: df.iloc[np.flatnonzero(df['BoolCol'])]

    Out[113]:

    BoolCol

    10 True

    40 True

    50 True

    展开全文
  • 而enumerate函数可以遍历所有元素,可以利用这个函数+列表推导式实现获取所有重复元素的索引值。实现方式如下: listA=[1,2,3,2] #比如要查找列表中的数字2。 indexA=[x for (x,m) in enumerate(listA) if m==2...

    python3 的index函数只能索引要查找元素的首个索引,这个在多数情况是不能满足索引要求的。而enumerate函数可以遍历所有元素,可以利用这个函数+列表推导式实现获取所有重复元素的索引值。实现方式如下:

    listA=[1,2,3,2]  #比如要查找列表中的数字2。

    indexA=[x for (x,m) in enumerate(listA) if m==2 ]

    indexA

    输出:[1,4]

    可以写成函数以方便调用:

    def indexA (listA,m):

        return [x for (x,m) in enumerate(listA) if m==2 ]

    使用:

    indexA([1,2,3,2] ,2)

    输出:[1,4]

     

    展开全文
  • 在Redis中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围元素列表、获取指定索引下标元素等。列表是一种比较灵活数据结构,它可以充当栈和队列角色,在实际开发上有很多应用场景。列表类型有两...

    列表(list)类型是用来存储多个有序的字符串,列表中的每个字符串称为元素(element),一个列表最多可以存储232-1个元素。在Redis中,可以对列表两端插入(push)和弹出(pop),还可以获取指定范围的元素列表、获取指定索引下标的元素等。列表是一种比较灵活的数据结构,它可以充当栈和队列的角色,在实际开发上有很多应用场景。

    906619c9fe3fdad1d62622227d14ff44.png

    列表类型有两个特点:

    1. 列表中的元素是有序的,这就意味着可以通过索引下标获取某个元素或者某个范围内的元素列表。

    2. 列表中的元素可以是重复的.

    一、内部实现

    在Redis3.2版本以前列表类型的内部编码有两种。

    • ziplist(压缩列表):当列表的元素个数小于list-max-ziplist-entries配置(默认512个),同时列表中每个元素的值都小于list-max-ziplist-value配置时(默认64字节),Redis会选用ziplist来作为列表的内部实现来减少内存的使用。

    • linkedlist(链表):当列表类型无法满足ziplist的条件时,Redis会使用linkedlist作为列表的内部实现。

    而在Redis3.2版本开始对列表数据结构进行了改造,使用 quicklist 代替了 ziplist 和 linkedlist.

    关于这三种底层数据结构可以查看我的另外三篇文章

    Redis数据结构——链表

    Redis数据结构——压缩列表

    Redis数据结构——quicklist)

    二、常用命令

    Redis列表对象常用命令如下表(点击命令可查看命令详细说明)。

    命令说明时间复杂度
    BLPOP key [key …] timeout删除,并获得该列表中的第一元素,或阻塞,直到有一个可用O(1)
    BRPOP key [key …] timeout删除,并获得该列表中的最后一个元素,或阻塞,直到有一个可用O(1)
    BRPOPLPUSH source destination timeout弹出一个列表的值,将它推到另一个列表,并返回它;或阻塞,直到有一个可用O(1)
    LINDEX key index获取一个元素,通过其索引列表O(N)
    LINSERT key BEFOREAFTER pivot value在列表中的另一个元素之前或之后插入一个元素O(N)
    LLEN key获得队列(List)的长度O(1)
    LPOP key从队列的左边出队一个元素O(1)
    LPUSH key value [value …]从队列的左边入队一个或多个元素O(1)
    LPUSHX key value当队列存在时,从队到左边入队一个元素O(1)
    LRANGE key start stop从列表中获取指定返回的元素O(S+N)
    LREM key count value从列表中删除元素O(N)
    LSET key index value设置队列里面一个元素的值O(N)
    LTRIM key start stop修剪到指定范围内的清单O(N)
    RPOP key从队列的右边出队一个元O(1)
    RPOPLPUSH source destination删除列表中的最后一个元素,将其追加到另一个列表O(1)
    RPUSH key value [value …]从队列的右边入队一个元素O(1)
    RPUSHX key value从队列的右边入队一个元素,仅队列存在时有效O(1)

    三、使用场景

    3.1 消息队列

    列表类型可以使用 rpush 实现先进先出的功能,同时又可以使用 lpop 轻松的弹出(查询并删除)第一个元素,所以列表类型可以用来实现消息队列

    10177b0af8b14ef61885ffd209c42587.png

    3.2 文章(商品等)列表

    我们以博客站点为例,当用户和文章都越来越多时,为了加快程序的响应速度,我们可以把用户自己的文章存入到 List 中,因为 List 是有序的结构,所以这样又可以完美的实现分页功能,从而加速了程序的响应速度。

    1. 每篇文章我们使用哈希结构存储,例如每篇文章有3个属性title、timestamp、content

      hmset acticle:1 title xx timestamp 1476536196 content xxxx
      ...
      hmset acticle:k title yy timestamp 1476512536 content yyyy
      ...
    2. 向用户文章列表添加文章,user:{id}:articles作为用户文章列表的键:

      lpush user:1:acticles article:1 article3
      ...
      lpush
      ...
    3. 分页获取用户文章列表,例如下面伪代码获取用户id=1的前10篇文章

      articles = lrange user:1:articles 0 9for article in {articles}
      {
      hgetall {article}
      }

    注意:使用列表类型保存和获取文章列表会存在两个问题。

    • 如果每次分页获取的文章个数较多,需要执行多次hgetall操作,此时可以考虑使用Pipeline批量获取,或者考虑将文章数据序列化为字符串类型,使用mget批量获取。

    • 分页获取文章列表时,lrange命令在列表两端性能较好,但是如果列表较大,获取列表中间范围的元素性能会变差,此时可以考虑将列表做二级拆分,或者使用Redis3.2的quicklist内部编码实现,它结合ziplist和linkedlist的特点,获取列表中间范围的元素时也可以高效完成。

    关于列表的使用场景可参考以下几个命令组合:

    • lpush+lpop=Stack(栈)

    • lpush+rpop=Queue(队列)

    • lpush+ltrim=Capped Collection(有限集合)

    • lpush+brpop=Message Queue(消息队列)

    小结

    本篇文章我们总结了Redis 列表对象的内部实现、常用命令以及常用的一些场景,那么大家在项目中对Redis列表对象的使用都有哪些场景呢,欢迎在评论区给我留言和分享,我会第一时间反馈!我们共同学习与进步!

    参考

    《Redis设计与实现》

    《Redis开发与运维》

    《Redis官方文档》

    ——-END——-

    展开全文
  • index() 函数用于从列表中找出某个值第一个匹配项的索引位置。 1 list.index(x, start, end) 2 #start end 指示搜索的起始和结尾位置,缺省为整个数组 x-- 查找的对象。 start-- 可选,查找的起始位置。 ...
  • 获取字典中的某个值: 字典[key],当key不存在,会报错“keyError” 字典.get(key)key不存在不会报错,返回None,也可指定返回值 dict1={"a":"111","b":"3333"} print(dict1.get("a","不...#获取list的值 list1=.
  • 如何在python列表中查找某个元素的索引方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的。代码如下: 可知索引为2。但是如果a中有多个76元素,这种方法仅仅能获取都第一...
  • 在python列表中查找某个元素的索引的两种方法 1、方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的。代码如下: list1 = [1,7,2,4,5] print(a.index(4)) output: 这种...
  • 在python列表中查找某个元素的索引

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

    万次阅读 多人点赞 2019-05-15 22:35:06
    在平时开发过程中,经常遇到需要在数据中获取特定元素信息, 如到达目的地最近车站,橱窗里面...方法一: 利用数组自身特性 a.index(target), 其中a是你目标list,target是你需要下标对应的值 a=[72...
  • 本文主要介绍了python中如何获取列表的索引,以及如何返回列表中某个值的索引。1、index方法list_a= [12,213,22,2,32]for a in list_a:print(list_a.index(a))结果:0 1 2 3 4如果列表中的元素没有重复的话,使用...
  • lrange 列表名称 开始的索引值 结束的索引值 linsert 将插入到某个元素之前或之后 在指定元素之前插入 linsert 列表名称 before 指定元素的 插入的新 在指定元素之后插入 linsert 列表名称 after 指定元素...
  • 如何在python列表中查找某个元素的索引方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的。代码如下: 可知索引为2。但是如果a中有多个76元素,这种方法仅仅能获取都第一...
  • 获取全部元素索引 当列表中有重复元素时 support=[2.0, 2.0, 3.0, 1.0, 1.0] for i in support: print(support.index(i)) 输出: 0 0 ...此处用enumerate方法,将列表中的元素...获取某个值的索引 无重复元素时 list_.
  • python 寻找list中最大元素对应的索引方法Python 列表(List)操作方法详解python获取元素在数组中索引号的方法python通过索引遍历列表的方法numpy中实现ndarray数组返回符合特定条件的索引方法Python 遍历列表里面...
  • android中list插入数据到某个个位置

    千次阅读 2017-04-26 16:02:20
    可 先通过 获取到bean类对象 list.contains(bean类对象)来判断集合中是否包含此 bean类然后 通过下面代码 进行插入 和移除List<String> list = new List(); list.add("b");...//替换索引为0的值 //
  • 如何在python列表中查找某个元素的索引方法一: 利用数组自身的特性 a.index(target), 其中a是目标list,target是需要的下标对应的。代码如下: 可知索引为2。但是如果a中有多个76元素,这种方法仅仅能获取都第一...
  • 其实很简单,用len函数: >>> array = [0,1,2,3,4,5] >>> print len(array) ... 您可能感兴趣的文章:python获取元素在数组中索引号的方法python 返回列表中某个值的索引方法python返回数组的索引实例
  • 一、python列表list:有序项集合,...索引list[idx] 通过下标访问某个元素 idx>=0 and idx<=len(list)-1 4.切片:list[begin:end] 获取切片list,begin开始,end结束,不包含end 二、list常用方法1.在列表末...
  • List备忘录蓝桥杯python

    2021-03-17 08:17:10
    list=[1,2,3,4] list2=list.copy() #list2=list #更直接 print(list2) 早上看到一个快速生成一个索引数组,比如想生成一个索引从2到7 ...append话,通常用来获取指定某个值,数组索引。比如常用 .
  • list.pop([i])中的i是列表中元素的索引值,这个i用放括号包裹起来,意味着还可以不写任何索引,如上面操作结果,就是删除列表的最后一个。 给看官留下一个思考题,如果要像前面那样,能不能事先判断一下要删除的...
  • pygame.key.get_pressed()—获取所有键盘按钮状态,返回列表(布尔)。 使用键常量索引数组。True表示按下该按钮。 如下: running = True while running: key_list = pygame.key.get_pressed() if ...
  • ##########列表:list##########1.索引:结果:eirc2.切片结果:3....获取某个索引的值:index结果:09.向指定索引位置插入数据:insert结果:10.在原列表中移除最后一个元素,并将其赋值给a1结果:ale...
  • 列表(list) 1、定义: resList=[];----->列表是一种有序的集合 resLIst=[1,2,"嘻嘻",'你好',['内嵌1','内嵌2']]; ...获取某个index的值 ...获取某个值所在的索引位置(一般写程序时,需要...
  • 文章目录数据结构字符串string类型键命令哈希hash类型增加,修改获取列表list类型增加获取设置指定索引位置元素的值删除集合set类型增加获取元素删除有序集合zset增加获取根据索引获取根据权重获取查看某个成员...
  • 我们是使用列表的过程中,经常会取内部的某个值,通常第一反应会用列表的索引去取值,比如下面的列表,如果我们要取第2个元素,可以输入list[1]来获取list1=['get',1,2,'hello',5]print(list1[1])这是我们最常用的...
  • 1. Series   类似numpy中一维数组,但series更灵活,可以自定义索引。 创建一维数组:s=Series(data=[1,2,3,4],index=list(‘abcd’)) ...获取数组中的某个值:①按索引获取:s[ ‘小明’ : ’小亮’
  • tuple 不可变是指当你创建了 tuple 时候,它就不能改变了,也就是说它也没有 append(),insert() 这样的方法,但它也有获取某个索引值的方法,但是不能赋值。那么为什么要有 tuple 呢?那是因为tuple是不可变的,...
  • 我们是使用列表的过程中,经常会取内部的某个值,通常第一反应会用列表的索引去取值,比如下面的列表,如果我们要取第2个元素,可以输入list[1]来获取list1=['get',1,2,'hello',5] print(list1[1]) 这是我们最...

空空如也

空空如也

1 2 3 4 5 6
收藏数 111
精华内容 44
关键字:

获取list某个值的索引