Python 中的迭代器

Python 中的迭代器

Python 中的迭代器

迭代是用于数据处理和数据转换的关键工具之一。当处理大型数据集以及不可能或不能高效地将整个数据集带入内存时,迭代尤其有用。迭代器提供了一种将数据一次一项地带入内存的方法。

创建迭代器的方法是用一个单独的类定义迭代器,并实现 __iter____next__ 等特殊方法。但还有一种使用 yield 操作创建迭代器的新方法,即生成器。接下来,我们将首先学习迭代器。讲完迭代器后再讲生成器。

迭代器是用来迭代其他对象的对象。迭代器可以迭代的对象称为可迭代对象。理论上,这两个对象是不同的,但可以在可迭代对象类中实现迭代器。这虽然在技术上是可行的,但不建议这样做(稍后会讲到原因)。我们将通过一个例子来讨论为什么这种方法不是一种好的设计方法。在下面的代码片段,是在 Python 中使用 for 循环进行迭代的示例:

#例一:在一个列表上迭代
for x in [1, 2, 3]:
  print(x)

#例二:在一个字符串上迭代
for x in "Hello, world":
  print(x, end="")
print(' ')

#例三:在一个字典上迭代
week_days = {
   
   1: '星期一', 2: '星期二', 3: '星期三', 4: '星期四', 5: '星期五', 6: '星期六', 7: '星期日'}
for key in week_days:
  print(key, week_days[key])

#例四:在一个文件上迭代,输出文件的每一行
for row 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dowhileprogramming

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值