python迭代器筆記

2022-07-19 08:27:17 字數 1638 閱讀 7652

一、什麼是迭代器

1.可迭代(iterable):直接作用於for迴圈

2.迭代器(iterator):不僅可迭代,還可以被next呼叫

#可迭代

1 t = [i for i in range(5)]

2print

(t)3

for i int:4

print(i)

[0, 1, 2, 3, 4]01234

out1

1

#迭代器

23 t = (i for i in range(5))

4print

(t)5

for i int:6

print(i)

at 0x0000029b9c3a6620>012

34

out2

二、判斷是否為迭代器

1.相關模組

collections模組:iterable,iterrator,isinstance

2.使用方法

iterable:可迭代

iterator:迭代器

isinstance:判斷變數是否為例項

3.案例

1

import

collections

2 l1 = [i for i in range(5)]

3 l2 = (i for i in range(5))45

print('l1'

)6print

(isinstance(l1,collections.iterable))

7print

(isinstance(l1,collections.iterator))89

print('

\nl2')

10print

(isinstance(l2,collections.iterable))

11print(isinstance(l2,collections.iterator))

l1

true

false

l2true

true

out3

三、迭代器化

1.相關函式

iter:讓可迭代變數轉化為迭代器

1

from collections import

iterable,iterator

23 s = '

nihao wo shi zz'4

print

(isinstance(s,iterable))

5print

(isinstance(s,iterator))

67 is =iter(s)

8print

(isinstance(is,iterable))

9print(isinstance(is,iterator))

true

false

true

true

out4

python 迭代器 筆記

1.凡事可用於for迴圈的物件都是iterable型別物件 2.凡事可做用於next 函式的物件都是iterator型別物件,他們表示乙個惰性計算的序列 3.集合資料型別list dicr str等是iterable物件不是iterator物件,但是可以通過呼叫iter 函式獲得乙個iterator...

Python筆記 迭代器

我們已經知道,可以直接作用於for迴圈的資料型別有以下幾種 一類是集合資料型別,如list tuple dict set str等 一類是generator,包括生成器和帶yield的generator function。這些可以直接作用於for迴圈的物件統稱為可迭代物件 iterable。1 可以...

python迭代器筆記

迭代器的優點 迭代器訪問與for迴圈訪問非常相似,但是也有不同之處。對於支援隨機訪問的資料結構如元組和列表,迭代器並無優勢。因為迭代器在訪問的時候會丟失資料索引值,但是如果遇到無法隨機訪問的資料結構如集合時,迭代器是唯一訪問元素的方式 迭代器僅僅在訪問到某個元素時才使用該元素。在這之前,元素可以不存...