python列表遍历

四种不同遍历方式:

1、for...in 遍历

app_list = [1234, 5677, 8899] for app_id in app_list: print app_id

输出: 

1234 5677 8899

2、range()函数遍历

app_list = [1234, 5677, 8899] for i in range(len(app_list)): print (i,app_list[i])

输出: 

0 1234 1 5677 2 8899

3、enumerate()函数遍历

enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符 串)

组合为一个索引序列,同时列出数据和数据下标

app_list = [1234, 5677, 8899] for index,app_id in enumerate(app_list): print (index, app_id)

输出: 

0 1234 1 5677 2 8899

4、iter() 函数用来生成迭代器遍历。

app_list = [1234, 5677, 8899] for app_id in iter(app_list): print app_id

输出: 

1234 5677 8899

深入扩展:

for循环原理

for循环的实现机制其实就是基于迭代器协议对可迭代对象不断迭代, 而迭代器到底是什么呢?

1. 迭代器协议是指:对象必须提供一个next方法,执行该方法要么返回迭 代中的下一项,

要么就引起一个StopIteration异常,以终止迭代。

2. 迭代器:实现了迭代器协议的对象(如何实现:对象内部定义一个

__iter__()方法)

3. 协议是一种约定,可迭代对象实现了迭代器协议,python的内部工具 (如for循环,

sum,min,max函数等)使用迭代器协议访问对象。

4. 可以通过__next__取值。

for 循环在处理这些数据前,会调用 __iter__() 方法,将这些数据转化为一 个迭代器, 然后调用迭代器的__next__()方法取值,直到抛出StopIteration异常,结束 迭代。

即我们可以通过手动迭代来模拟for循环:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值