博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python中的几种遍历列表的方法比较
阅读量:4965 次
发布时间:2019-06-12

本文共 1111 字,大约阅读时间需要 3 分钟。

python的内容非常丰富,给我们带来的便利很多,很多事情的表达方法有很大的多样性,比如我经常需要遍历一个列表,取它的下标和值,这个时候就有很多方法需要取舍一下才行。

for循环遍历
l = [1,2,3,4,5,6,7]    for i in range(len(l)):        print i,  l[i]            非常简单,没有学过python的人也可以大致看懂
while循环遍历
l = [1,2,3,4,5,6,7,8]index = 0while index < len(l):    print index, l[index]    index++    很有c语言背景的写法,java的也类似的说
index结合for循环遍历
l = [1,2,3,4,5,6,7]index = 0for i in l:    print index,  i    index += 1
拉链(zip)方法遍历
l = [1,2,,4,5,6,6]for i ,v in zip(range(len(l)), l):    print i, v    看起来好复杂的说,zip把它的2个参数组合成了list长度的元组列表,其实每个元组的值是2个列表中的每一个,所以它叫做拉链方法

enumerate遍历方法

l = [1,2,3,4,4,4,4]for i, v in enumerate(l):    print i , v    非常容易理解而是是懒加载的方法,其中用到了python中的生成器,我们也可以实现自己的enumerate方法,用同样的for循环方式进行调用比如说def my_enumerate(l):    length= len(l)    for i in range(length):        yield i , l[i]        调用方法和上面完全一样,你也可以写一个自动生成斐波那契的函数,比如这样写就可以自动获取前n项斐波那契数列def fib(max):    index = 0     a, b = 0, 1    while index < max:        yield index, a        a, b= b, a+b        index +=1        for i , v in fib(10):    print i , b    这样调用非常方便,易读而且有懒加载的功能,其实就相当于开启一个协程。

转载于:https://www.cnblogs.com/youngershen/p/3973997.html

你可能感兴趣的文章
Spring 构造注入和Set注入复习
查看>>
<mvc:annotation-driven/>的作用
查看>>
服务器一:分布式服务器结构
查看>>
迭代dict的value
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
Py 可能是最全面的 python 字符串拼接总结(带注释版)
查看>>
如何从亿量级中判断一个数是否存在?
查看>>
客户数据(类的调用)
查看>>
cookie session 和登录验证
查看>>
为mysql数据库建立索引
查看>>
语言-汉语-官话-中原官话-兖菏片:兖菏片
查看>>
HTML-参考手册: 画布
查看>>
杂项:MIS
查看>>
Node.js:全局对象
查看>>
6、python中的字符串
查看>>
String、StringBuffer与StringBuilder之间区别
查看>>
bash中常见环境变量env、set、export 、declare与bash漏洞原理
查看>>
Vue.js 子组件的异步加载及其生命周期控制
查看>>
数据库表结构导出sql语句
查看>>
C++库(Thrift)
查看>>