在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, inprint (next(lis1)) StopIteration
相關用法
- Python next()用法及代碼示例
- Python os.dup()用法及代碼示例
- Python set()用法及代碼示例
- Python os.sync()用法及代碼示例
- Python PIL eval()用法及代碼示例
- Python sys.getrecursionlimit()用法及代碼示例
- Python sympy.rf()用法及代碼示例
- Python PIL getpalette()用法及代碼示例
- Python sympy.S()用法及代碼示例
- Python os.WIFEXITED()用法及代碼示例
- Python getattr()用法及代碼示例
- Python os.fdatasync()用法及代碼示例
- Python sympy.nT()用法及代碼示例
- Python Decimal max()用法及代碼示例
注:本文由純淨天空篩選整理自manjeet_04大神的英文原創作品 Python | iter() method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。