在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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。