新聞中心
在函數(shù)中有一些循環(huán)的操作,一般來說次數(shù)是沒有限制的,這就是在Python中經(jīng)常提到的迭代。有些小伙伴們使用iter不知道有沒有迭代次數(shù)的限制,iter函數(shù)使用迭代器只能迭代一次。

創(chuàng)新互聯(lián)專注于東港企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站建設(shè),成都做商城網(wǎng)站。東港網(wǎng)站建設(shè)公司,為東港等地區(qū)提供建站服務(wù)。全流程按需網(wǎng)站策劃,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
今天小編從iter函數(shù)的說明、語法、參數(shù)、返回值等進行分享,并帶來實例的介紹,幫助大家找出iter迭代次數(shù)的要求。
1.說明:
(1)函數(shù)功能返回一個迭代器對象。
(2)當(dāng)?shù)诙€參數(shù)不提供時,第一個參數(shù)必須是一個支持可迭代協(xié)議(即實現(xiàn)了__iter__()方法)的集合(字典、集合、不可變集合),或者支持序列協(xié)議(即實現(xiàn)了__getitem__()方法,方法接收一個從0開始的整數(shù)參數(shù))的序列(元組、列表、字符串),否則將報錯。
>>> a = iter({'A':1,'B':2}) #字典集合
>>> a
>>> next(a)
'A'
>>> next(a)
'B'
>>> next(a)
Traceback (most recent call last):
File "", line 1, in
next(a)
StopIteration
>>> a = iter('abcd') #字符串序列
>>> a
>>> next(a)
'a'
>>> next(a)
'b'
>>> next(a)
'c'
>>> next(a)
'd'
>>> next(a)
Traceback (most recent call last):
File "", line 1, in
next(a)
StopIteration 2.語法
iter(object[, sentinel])
3.參數(shù)
-
object -- 支持迭代的集合對象。
-
sentinel -- 如果傳遞了第二個參數(shù),則參數(shù) object 必須是一個可調(diào)用的對象(如,函數(shù)),此時,iter 創(chuàng)建了一個迭代器對象,每次調(diào)用這個迭代器對象的__next__()方法時,都會調(diào)用 object。
4.返回值
迭代器對象。
5.實例
'''
iter語法為: iter(object[, sentinel])
有兩種方式使用,第一種很簡單,如下
'''
list = range(6)
It = iter(list)
'''
第二種,如果傳遞了第二個參數(shù),則參數(shù) object 必須是一個可調(diào)用的對象(如,函數(shù)),此時,iter 創(chuàng)建了一個迭代器對象,每次調(diào)用這個迭代器對象的__next__()方法時,都會調(diào)用 object,直至迭代到元素sentinel。
'''
from queue import Queue
q = Queue()# 創(chuàng)建隊列對象
for i in range(5):
q.put(i)# 依次放入5個數(shù)字
q.put('END')# 放入結(jié)束標(biāo)志
def test():
return q.get()# 取數(shù)據(jù)
for item in iter(test, 'END'):# 持續(xù)執(zhí)行test()函數(shù),直到返回’END’
print(item, end=' ')根據(jù)本篇對python中iter函數(shù)的學(xué)習(xí),我們可以得出iter使用迭代器次數(shù)為一次,這點是需要很多新手小伙伴要注意的點。
(推薦操作系統(tǒng):windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。)
分享名稱:創(chuàng)新互聯(lián)Python教程:iter在python中迭代次數(shù)有限制嗎?
URL標(biāo)題:http://www.5511xx.com/article/cohsiog.html


咨詢
建站咨詢
