當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python iter()用法及代碼示例


在python中,iter()方法用於轉換以將可迭代對象轉換為迭代器。這提供了另一種方法來迭代容器,即訪問其元素。 iter()使用next()訪問值。

語法:iter(obj,sentinel)參數:obj:必須轉換為可迭代(通常是iterator)的對象。 sentinel:用於表示序列結尾的值。返回:迭代器對象

代碼1:演示iter()


# Python3 code to demonstrate 
# working of iter() 
  
# initializing list  
lis1 = [1, 2, 3, 4, 5] 
  
# printing type  
print ("The list is of type:" + str(type(lis1))) 
  
# converting list using iter() 
lis1 = iter(lis1) 
  
# printing type  
print ("The iterator is of type:" + str(type(lis1))) 
  
# using next() to print iterator values 
print (next(lis1)) 
print (next(lis1)) 
print (next(lis1)) 
print (next(lis1)) 
print (next(lis1))

輸出:

The list is of type:
The iterator is of type:
1
2
3
4
5

迭代器的屬性

  • 迭代對象通過內部count變量記住迭代計數。
  • 一旦迭代完成,它將引發StopIteration異常,並且迭代計數不能為
    重新分配為0。
  • 因此,它可用於僅遍曆容器一次。

代碼2:演示單遍曆的屬性

# Python 3 code to demonstrate 
# property of iter() 
  
# initializing list  
lis1 = [1, 2, 3, 4, 5] 
  
# converting list using iter() 
lis1 = iter(lis1) 
  
# prints this  
print ("Values at 1st iteration:") 
for i in range(0, 5):
    print (next(lis1)) 
  
# doesn't print this 
print ("Values at 2nd iteration:") 
for i in range(0, 5):
    print (next(lis1))

輸出:

Values at 1st iteration:
1
2
3
4
5
Values at 2nd iteration:

異常:

Traceback (most recent call last):
  File "/home/0d0e86c6115170d7cd9083bcef1f22ef.py", line 18, in 
    print (next(lis1))
StopIteration


相關用法


注:本文由純淨天空篩選整理自manjeet_04大神的英文原創作品 Python | iter() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。