迭代器和可迭代對象

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

相關文章
相關標籤/搜索