python的迭代对象(iterable)和迭代器(iterator)

python的迭代对象(iterable)和迭代器(iterator)
摘要由CSDN通过智能技术生成

list 呢它本身是一个有序的结构, 那你 for in 来拿的话, 可以是第零个, 第一个, 第二个这个事儿比较符合直觉, 但是我们知道 dictionary 也可以这么用, 那 dictionary 可不是按顺序的给你摆在这儿, 第一个给你摆在这儿的, 对不对, 他怎么也可以用这个 for in 的结构呢, 甚至包括在 python 中打开的文件都可以用 for in 的结构, 那么知道文件肯定是一个相对来说比较复杂的数据结构了对吧, 他肯定也不是给你标好了, 第零个, 第一个, 第二个他怎么也能这么用呢, 那我们今天就来揭示这件事背后的秘密哦, 在 for loop 实现背后呢有两个核心概念, 一个叫可迭代对象, 一个叫迭代器。

先来看官方 doc 的解释,iterable 也就是可迭代对象, 他说的是一个对象, 然后可以一个一个的返回他的成员, 他给了一些例子吧, 比如说 list string tuple 啊, 包括 dictionary 啊, 然后他还特别强调了对吧, 这个 iterable 可以在 for loop 里面使用, 当然确切的说是 for loop 里面 in 后面那个东西必须是一个 iterable, 也就是必须是一个可迭代对象

An object capable of returning its members one at a time. Examples of iterables include all sequence types (such as [`list`]( https://docs.python.org/3/library/stdtypes.html#list "list"), [`str`]( https://docs.python.org/3/library/stdtypes.html#str "str"), and [`tuple`]( https://docs.python.org/3/librar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值