在Python2.6或更高版本中next((i for i, sublist in enumerate(nested_list) if "a" in sublist), -1)

假设如果'a'不在任何子列表中,则需要-1结果。

当然,它也可以在较旧版本的Python中完成,但不是很容易,而且由于您没有指定您感兴趣的Python版本,我认为最好使用最新的生产实体版本(如果需要指定其他较旧版本的Python,请编辑您的答案)。

编辑:每个请求,让我解释一下这是如何工作的。我正在使用(2.6中的新)内置函数next,特别是我正在调用next(iterator, default):返回迭代器的下一项(因此是第一项,因为这是我们第一次推进迭代器),或者返回迭代器完成时的默认值(如果在我们推进迭代器之前就完成了,则意味着“空的”;-)。默认值显然是-1,如果“a不在任何子列表中,则返回,这意味着在本例中与“迭代器为空”相同。

让我们再看看迭代器:(i for i, sublist in enumerate(nested_list) if "a" in sublist)

圆括号和for和if关键字意味着这是一个生成器表达式,也称为genexp。i(索引)和sublist(索引处的项)前进超过enumerate(nested_list)——如果这里没有enumerate,那么我们不会跟踪索引,但在这种情况下我们确实需要它。只有当满足if子句时,即当您要查找的元素出现在当前子列表中时,才会考虑它们。

因此,这个genexp一次生成一个索引值,使得该索引的子列表满足条件"a" in sublist。因为我们在next内部使用它,所以我们只取第一个这样的索引。

这个操作可能有理由认为一个用三个或四个字符来完成所有这些的魔法内置程序会更简单——而且对于这个非常特殊的需求,我相信我在使用Python的十多年中从未遇到过这样的需求;但是,如果每一个这样的特定要求都有自己非常专业的内置语言,那么语言和内置代码就会变得比税法还要大。相反,Python提供了许多低级的“乐高积木”和一些方便的方法来将它们组合在一起,以便清楚地(并且相当简洁地)表达对各种特定需求组合的解决方案,比如OP

python嵌套列表索引 index_Python:嵌套lis中元素的索引列表相关推荐

  1. java list 获取索引_java – 获取arrayList中元素的索引

    我试图在arrayList minuteList中获得466的索引 [288, 318, 346, 376, 406, 436, 466, 1006, 1036, 1066, 1096, 1126, ...

  2. java查询数组中元素的索引

    java查询数组中元素的索引 /*** java查询数组中元素的索引*/ public class Test03 {public static void main(String[] args) {in ...

  3. R语言可视化绘制及PDF使用字体参数列表:查看字体列表、可视化绘制图像中的字体参数列表、字体示例并写入pdf

    R语言可视化绘制及PDF使用字体参数列表:查看字体列表.可视化绘制图像中的字体参数列表.字体示例并写入pdf 目录 R语言可视化绘制及PDF使用字体参数列表:查看字体列表.可视化绘制图像中的字体参数列 ...

  4. python怎么输出列表中元素的索引_python怎么获取列表元素的索引

    本文主要介绍了python中如何获取列表的索引,以及如何返回列表中某个值的索引. 1.index方法list_a= [12,213,22,2,32] for a in list_a: print(li ...

  5. python花式索引_初探Numpy中的花式索引

    Numpy中对数组索引的方式有很多(为了方便介绍文中的数组如不加特殊说明指的都是Numpy中的ndarry数组),比如:基本索引:通过单个整数值来索引数组 import numpy as np arr ...

  6. python中字典的索引是什么_Python中的字典索引

    Python中的符合数据类型:字符串,列表和序列.它们用整数作为索引.如果你试图用其他的类型做索引,就会产生错误. >>> list = [1 ,2,3] >>> ...

  7. python列表元组字典相互转化_python中字典元组和列表的互相转化

    转自:http://www.cnblogs.com/linjiqin/p/3674356.html #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', ...

  8. 索引原理及项目中如何使用索引实例分析

    一.索引原理: 为认识索引工作原理,首先有必要对数据表的基本结构作一次全面的复习. 当一个新表被创建之时,系统将在磁盘中分配一段以8K为单位的连续空间,当字段的值从内存写入磁盘时,就在这一既定空间随机 ...

  9. oracle索引使用例子,Oracle中利用函数索引处理数据倾斜案例

    关于B-Tree.Bitmap.函数索引的相关内容请参考另一篇博文: Oracle中B-Tree.Bitmap和函数索引使用案例总结 通常来说,索引选取的数据列最好为分散度高.选择性好.从索引树结构的 ...

最新文章

  1. 几种常见的攻击方式扫盲(一)——NTP反射放大
  2. 【Java基础】集合
  3. java中判断字符串是否为数字的三种方法
  4. 以太坊 p2p Server 原理及实现
  5. python求pai的近似值_PR Sampling Ⅰ: 蒙特卡洛采样、重要性采样及python实现
  6. access 报表中序号自动_Access中自动编号的字段ID如何让它重新从初始值1开始编号...
  7. CAD地形图等高线标高批量取整工具,解决等高线标高出现小数的问题,等高线高程批量取整,在指定限差内将等高线标高修改为最接近的整数
  8. [线性代数] 常用定义与公式
  9. Python3 Cobalt strike shellcode 免杀过 360 卫士和360杀毒
  10. C++泛型编程基本概念
  11. 菲尔茨奖得主陶哲轩:瓜分数学成就 没有益处
  12. 函数 单片机glint_为什么用单片机写的自锁开关程序,把开关放到P0.0脚后LED就开始闪烁?...
  13. 一支笔的测试点_一张纸一支笔,简单一招教你自测是否有眼底黄斑病变
  14. 2019计算机应用基础平时作业答案,2019年计算机应用基础作业一答案.docx
  15. 正则匹配空字符串 /(^\s)/
  16. matlab中map工具箱(Mapping toolbox)使用
  17. ERROR2002 can not connect to lcoal Mysql Server throuth socket '/tmp/mysql.sock'
  18. 复变函数及应用 第二章学习感受
  19. 工作中学习ing—linux
  20. java 拆箱与装箱原理

热门文章

  1. 数据千万条,备份第一条:VFEmail被擦除所有数据面临关停
  2. MySQL 传统复制中常见故障处理和结构优化案例分析
  3. 深入跨国互联网业务场景,看华为云数智融合元数据如何打破“数据墙”
  4. Python 可以满足你任何 API 使用需求
  5. 【华为云技术分享】云图说|第三方云厂商数据如何迁移至华为云OBS?真相在这里......
  6. 力算未来丨一张图看懂华为“鲲鹏+昇腾”双引擎
  7. Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!
  8. 【Python3网络爬虫开发实战】1.5.2-PyMongo的安装
  9. 【华为云实战开发】10.经典的C++项目怎么在云端开发?
  10. 设置字段权限_命令行快速提示:权限进阶