当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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