迭代器基礎

2021-10-07 11:31:07 字數 1574 閱讀 8895

1.什麼是迭代器(iter)

迭代器是容器型資料型別,只能通過型別轉換和生成器來獲得迭代器物件

迭代器儲存資料特點:同時可以儲存多個資料,沒有辦法直接檢視,而是需要先將資料從迭代器中取出來(取出來之後不能再放回去)

1)所有的容器都可以轉換成迭代器

iter1 =

iter([

10,20,

30,40]

)print

(iter1)

iter2 =

iter

('abc'

)print

(iter2)

iter3 =

iter()

print

(iter3)

2.獲取迭代器中的元素

無論通過什麼樣的方式,只要是將迭代器中的某個元素拿到了,那麼這個元素在迭代器中就不存在了

list1 =

list

(iter1)

print

(list1)

# [10, 20, 30, 40]

list2 =

list

(iter1)

print

(list2)

#

1)遍歷

iter5 =

iter

('hello!'

)for x in iter5:

print

(f'x: '

)print

(list

(iter5)

)#

2)獲取單個元素

nex(迭代器物件) - 獲取乙個元素(當前最前面的那個元素)

迭代器物件.next() - 獲取乙個元素(當前最前面的那個元素)

iter6 =

iter()

print

(next

(iter6)

)# name

print

(next

(iter6)

)# age

print

(next

(iter6)

)# gender

#print(next(iter6)) # stopiteration

iter7 =

iter([

1,2,

3,4,

5,6,

7])next

(iter7)

next

(iter7)

for x in iter7:

print

(f'x:'

)

len 無法獲取迭代器的長度

iter8 =

iter

('hello world'

)#print(len(iter8)) #typeerror: object of type 'str_iterator' has no len()

基礎 C 迭代器

迭代器是 c 2.0 中的新功能。迭代器是方法 get 訪問器或運算子,它使您能夠在類或結構中支援 foreach 迭代,而不必實現整個 ienumerable 介面。您只需提供乙個迭代器,即可遍歷類中的資料結構。當編譯器檢測到迭代器時,它將自動生成 ienumerable 或 ienumerabl...

Lua基礎 迭代器

官方的文件說 迭代器 iterator 是一種物件,它能夠用來遍歷標準模板庫容器中的部分或全部元素,每個迭代器物件代表容器中的確定的位址 在lua中迭代器是一種支援指標型別的結構,它可以遍歷集合的每乙個元素。迭代器的種類主要有 泛型for迭代器 無狀態的迭代器 多狀態的迭代器 下面看幾個例子 ipa...

Python基礎 迭代器

二 生成器 三 推導表示式 迭代器就是乙個容器,將可迭代物件通過iter包起來 li 1 2,3 4,5 a liter li 迭代器print next a 1print next a 2print next a 3 乙個個取值 1.訪問者不需要去關心內部結構,只需要通過next不斷去取下乙個內容...