【Python】python中list的迭代

什么是迭代:
迭代其实就是遍历整个数据结构

nums = [3,4,5]
for n in nums:
	print(n)

上述代码中,我们定义了一个nums列表,并且使用for循环对其进行遍历。其实整个过程就是迭代,所谓迭代,就是对数据集中每一个元素对其进行遍历。

带索引的迭代:
使用enumerate获取可迭代对象中的索引以及所对应的值

nums = [3,5,6]
for index,n in enumerate(nums):
    print(f"index:{index}  value:{n}")
'''代码输出:
index:0  value:3
index:1  value:5
index:2  value:6
'''

上述代码输出,index表示索引,默认索引是从0开始的,那么我们是否可以指定索引开始值呢?

for index,n in enumerate(nums,3):
    print(f"index:{index}  value:{n}")
'''代码输出:
index:3  value:3
index:4  value:5
index:5  value:6
'''

上述代码中,enumerate可以接受第二个参数,表示索引起始值,必须为int类型。

迭代器:
迭代器是一个用来遍历目标数据的工具,使用iter()函数来得到

nums = [3,5,6]
it = iter(nums)
print(type(it)) # 输出:<class 'list_iterator'> 是一个列表的迭代器

可以用一个形象的比喻:一个列表认为是一个仓库,现在要把仓库中每个东西点一遍,你来找一个人来做,这个人就是迭代器。

print(next(it))  # 输出为:3
print(next(it))  # 输出为:4
print(next(it))  # 输出为:5
print(next(it))  # 输出为:报错 StopIteration

也可以用for循环来遍历,也就是说在in后面,可以放一个列表,也可以放一个迭代器

for i in it:
    print(i)

本文参考:
https://www.bilibili.com/video/BV1BG411j7s4/?spm_id_from=333.999.0.0&vd_source=cf0b4c9c919d381324e8f3466e714d7a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值