python第三十六課 2 迭代器物件

2022-06-19 13:27:12 字數 1592 閱讀 8625

滿足前提:

1).必須是乙個可迭代物件

2).可以被next()所作用的

舉例:generator...

高效的檢測乙個物件是否是迭代器物件

需要使用collections模組中的iterator類配合isinstance()內建函式來判斷

步驟如下:

第一步:匯入collections模組

第二步:collections.iterator(型別)配合isinstance()函式來判斷,**如下:

isinstance(obj,collections.iterator)

如果返回值為true,那麼它就是乙個迭代器物件

如果返回值為false,那麼它就不是乙個迭代器物件

將可迭代物件轉換為迭代器物件

內建函式:iter()

【注意】此函式必須只能呼叫可迭代物件,否則報錯

演示是否是迭代器物件

import

collections

str1 = '

abcd

'lt = [1,2,3,4]

tp = (11,22,33)

s =

dic1 =

r = range(10)

gen = (x for x in range(5))

print

(isinstance(str1,collections.iterator))

print

(isinstance(lt,collections.iterator))

print

(isinstance(tp,collections.iterator))

print

(isinstance(s,collections.iterator))

print

(isinstance(dic1,collections.iterator))

print

(isinstance(r,collections.iterator))

print(isinstance(gen,collections.iterator))

以下**報錯了:只有iteratot物件才能被next()函式所呼叫

print(next(lt))

將可迭代物件轉換為迭代器物件

內建函式:iter()

【注意】此函式必須只能呼叫可迭代物件,否則報錯

gen1=iter(lt)

print

(gen1,type(gen1))

gen2=iter(tp)

print

(gen2)

print

(next(gen1))

print(next(gen2))

以下**有問題:

因為100是int型別資料,它並不是乙個iterable(可迭代物件),

所以不能被iter()轉換成為iterator(迭代器物件)

gen3=iter(100)

print(gen3,type(gen3))

第三十六章 神女

滕青山也看著那馬背上的紫袍男子。這人似乎對我有著一絲敵意?滕青山心中倒是不在乎。在先天金丹這一層次。滕青山今有信心應付任何乙個強。你是第五神將?一道清冷聲音響起。滕青山身側。一身色裘衣的李然而立。目光清冷看著那微胖男子。不知道第五神將。來我這有什麼事?滕青山聽了心存疑。神將是什級別高手?第五神將 俄...

第三十六象 己亥

讖 曰纖纖女子 赤手禦敵 不分禍福 燈光蔽日 頌 曰雙拳旋轉乾坤 海內無瑞不靖 母子不分先後 西望長安入覲 金聖嘆註解 此象疑一女子能定中原,建都長安。推背圖網解 解圖圖中有一宮裝女子提燈在前指引,一婦人騎馬隨後,地上有一人納頭拜倒,從卦圖上看,有人點燈引路,婦人騎馬,應該是要出行,旁邊有人跪拜,證...

LeetCode第三十六題 Python實現

title leetcode no.36 categories tags 判斷乙個 9x9 的數獨是否有效。只需要根據以下規則,驗證已經填入的數字是否有效即可。數字 1 9 在每一行只能出現一次。數字 1 9 在每一列只能出現一次。數字 1 9 在每乙個以粗實線分隔的 3x3 宮內只能出現一次。上圖...