中文文件:
iter(object[, sentinel])
傳回一個迭代器物件。根據第二個參數的存在,第一個參數的解釋非常不同。如果沒有第二個參數,object 必須是支援迭代協定(iter() 方法)的集合對象,或者它必須支援序列協定(參數從 0 開始的 integer 參數的 getitem() 方法) 。如果它不支援這些協定中的任何一個,則會引發 TypeError。如果給予第二個參數哨兵,則物件必須是可呼叫物件。在這種情況下建立的迭代器將呼叫不帶參數的物件 for each 呼叫其 next() 方法;如果傳回的值等於哨兵,則會引發 StopIteration,否則將傳回該值。一行。以下範例讀取文件,直到
readline() 方法傳回空string:with open('mydata.txt') as fp:
for line in iter(fp.readline, ''):
process_line(line)
功能傳回一個可迭代
物件。 )方法)的集合(字典、集合、不可變集合),或支援序列協定(即實作了getitem()方法,方法接收一個從0開始的整數參數)的序列(元組、列表、字符字串),否則會報錯。一個方法的時候會呼叫這個可被呼叫對象,當傳回值和sentinel值相等時,會拋出StopIteration異常,終止迭代。
以上是Python內建iter函數詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!