快速的结论

遍历一个python的list,除了需要value,同时还需要index的情况下,有两种方法:

# first way

第二种方法,即使用enumerate效率更

六个对比实验

def 

对一个1千万的list调用五个函数,时间消耗为:

C:...>python test.py
[2.04882090s] IndexWithLen() -> None
[0.85096200s] Enumerate() -> None
[1.86384080s] IndexWithoutLen() -> None
[2.49664880s] While() -> None
[0.28645550s] IN() -> None
[0.57038900s] EnumerateOnlyValue() -> NoneC:...>python test.py
[2.02640900s] IndexWithLen() -> None
[0.84823220s] Enumerate() -> None
[1.87120120s] IndexWithoutLen() -> None
[2.56380380s] While() -> None
[0.31695870s] IN() -> None
[0.56945620s] EnumerateOnlyValue() -> NoneC:...>python test.py
[1.98887280s] IndexWithLen() -> None
[0.85976040s] Enumerate() -> None
[1.89354520s] IndexWithoutLen() -> None
[2.51731620s] While() -> None
[0.28787060s] IN() -> None
[0.58649370s] EnumerateOnlyValue() -> None

可以得到3点结论:

  • 使用enumerate同时获得index和value比range获得index后取得value的效率高;
  • range中存在len时,效率会降低;
  • 在只需要value的情况下,直接使用in list的效率更高。

原因探索

先挖坑,继续刷leetcode,以后有时间再填坑。

list遍历_Python遍历list,使用range和enumerate的效率区别相关推荐

  1. python 遍历_python遍历列表

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是 ...

  2. python 遍历_Python遍历字典

    1.遍历key值 1 >>> d = {'Python':'astonishing', 'C++':'complicated', 'Java':'versatile'} 2 > ...

  3. python 遍历_Python遍历循环

    循环:指的是在满足条件的情况下,重复执行同一段代码. 遍历:指的是按照一定规律访问树形结构中的每个节点,而且每个节点都只能访问一次. 上面给出的定义有些难懂,接下来就举例进行说明,在Python中(不 ...

  4. python dict遍历_python遍历字典dict的几种方法汇总

    python遍历字典dict的方法: dic={'a':'how','b':'are','c':'you'}; 方法1, for key in dic: print key,dic[key] 方法2, ...

  5. python 遍历_Python中遍历列表的方法总结

    Python中遍历列表有以下几种方法: 一.for循环遍历 lists = ["m1", 1900, "m2", 2000] for item in lists ...

  6. python 字符串遍历输出_python遍历字符串的方法有哪些

    python遍历字符串的方法有哪些 发布时间:2020-08-11 09:19:54 来源:亿速云 阅读:103 作者:小新 这篇文章将为大家详细讲解有关python遍历字符串的方法有哪些,小编觉得挺 ...

  7. c++ stack 遍历_python实现二叉树的遍历以及其他基本操作

    主要内容: 二叉树遍历(先序.中序.后序.宽度优先遍历)的迭代实现和递归实现: 二叉树的深度,二叉树到叶子节点的所有路径. 首先,先定义二叉树类(python3),代码如下: class 内容1:二叉 ...

  8. python 深度优先遍历_Python算法-二叉树深度优先遍历

    二叉树 组成: 1.根节点BinaryTree:root 2.每一个节点,都有左子节点和右子节点(可以为空)TreeNode:value.left.right 二叉树的遍历: 遍历二叉树:深度优先遍历 ...

  9. python怎么遍历文件_Python 遍历文件夹所有文件并查找文件中的字符串

    查找文件中字符串很简单,主要是遍历文件夹中所有的文件. 遍历文件目录主要用的 os 模块,主要代码如下: # -*- coding: cp936 -*- #在目录下查询文件中存在的字符串 import ...

  10. python 遍历字典 遍历列表 文件读写

    遍历 1. 遍历字典(只能遍历key值) dic = {"1":21,"2":64,"3":98} #遍历字典只是遍历key值 for c ...

最新文章

  1. openface 和openpose(pytorch)剪枝之路
  2. 030_jQuery Ajax的get方法
  3. Codeforces Round #527 (Div. 3) 总结 A B C D1 D2 F
  4. linux磁盘管理与分区 转载
  5. 基于 Kafka 技术栈构建和部署实时搜索引擎的实践
  6. linux 修改 java 内存_Linux 和 Windows修改Java虚拟机内存大小
  7. “洗净净”、“洗香香”、“洗爽爽” 京东又申请了这些商标
  8. mvc:annotation-driven /
  9. 从小小题目逐步走进 JavaScript 异步调用
  10. cmake静态编译以及安装带有opencv的静态库并调用
  11. 关于Spring Cloud Netflix
  12. AD软件解决 Unknown Pin 和Failed to add class member 问题
  13. 计算机设置定时关机win10,win10简单设置定时关机,电脑设置每日定时关机
  14. 计算机网络知识之1M宽带下载速度多少?
  15. 电脑如何做动态图 GIF表情包怎么制作
  16. 6.25考试整理:江城唱晚不老梦棠梨煎雪——题解
  17. “驱动人生”升级通道传木马,技术分析报告来了
  18. Glide 入门到精通之四——图片缩放和调整大小
  19. 嵌入式linux华清远见考试,嵌入式Linux小测及答案
  20. Linux----生产者与消费者

热门文章

  1. 阶段3 3.SpringMVC·_03.SpringMVC常用注解_8 SessionAttributes注解
  2. shop--8.店铺管理页面的开发
  3. WordPress更改“固定链接”后 ,页面出现404的解决方法
  4. 前端学习01-07图像标签
  5. Copy-and-swap
  6. 非常的好的协同过滤入门文章(ZZ)
  7. SRM 515 DIV1 550pt
  8. android ExpandableListView详解
  9. SQL SERVER存储过程批量插入数据库表数据
  10. HBuilder实现WiFi调试Android