青柠檬檬哒|python之彻底搞懂迭代、可迭代、迭代器的区别(一)( 二 )

可迭代对象的优点:

  1. 访问速度快 。
  2. 访问方式灵活 , 可多次、重复、任意选择范围访问 。
  3. 内置方法和函数比较多 。
可迭代对象的缺点:
  1. 耗费内存 。
  2. 取值过于灵活(有时会引起报错 , 如index out of range、TypeError等) 。
迭代器的优点:
  1. 节省内存 。
  2. 惰性取值(一次固定取一条数据 , 直到取值完毕报StopIteration , 不会引发报错) 。
迭代器的缺点:
  1. 访问速度慢 。
  2. 访问方式死板 , 只能访问下一条不能访问上一条 。
  3. 内置方法和函数比较少 。

青柠檬檬哒|python之彻底搞懂迭代、可迭代、迭代器的区别(一)
本文插图

比较可迭代对象与迭代器的优缺点 。
  • 在存储数据相对少(8g内存可承受几百万个对象) , 侧重对数据灵活处理时 , 将数据集设为可迭代对象更好 。
  • 当数据量大到足以撑爆内存(几千万甚至上亿个对象时) , 侧重节省内存时 , 将数据集设为迭代器更好 。

青柠檬檬哒|python之彻底搞懂迭代、可迭代、迭代器的区别(一)
本文插图

可迭代对象、迭代器两种方式怎么选?
【青柠檬檬哒|python之彻底搞懂迭代、可迭代、迭代器的区别(一)】


推荐阅读