迭代器和可迭代对象

1. 可迭代对象的辨别

l1 = [1, 2, 3]
print("__iter__" in dir(l1))

2.可迭代对象的优势

  • 直观可迭代对象能够显示全部的元素
  • 操做方法多
  • 效率相对较高

3.可迭代对象的缺点

  • 占用内存
  • 不能够迭代取值

4.可迭代对象转化为迭代器

l1 = [1, 2, 3]
ojb = iter(l1)

5. 迭代器的优势

  • 很是节省内存
  • 惰性机制

6.迭代器的缺点

  • 效率相对低
  • 不直观
  • 不灵活

7. 迭代器在迭代时不能返回

l1 = [1, 2, 3, 4]
ojb = iter(l1)
for i in range(2):
    print(next(ojb))
for i in range(1):
    print(next(ojb))

8.可迭代对象与迭代器的对比

  • 可迭代对象:可迭代对象是一个操做比较灵活,直观,效率相对高,可是比较占用内存的数据集。
  • 迭代器:迭代器是一个很是节省内存,知足惰性机制,可是效率相对低,操做不灵活的数据集。

6、for循环的原理

```python
l1 = [1, 2, 3, 4]
ojb = iter(l1)
while 1:
try:
print(next(ojb))
except StopIteration:
breakpython

相关文章
相关标签/搜索