当前位置: 移动技术网 > IT编程>脚本编程>Python > Python基础学习之迭代器

Python基础学习之迭代器

2018年03月22日  | 移动技术网IT编程  | 我要评论

凯撒大帝4序列号,大槻响乙木,珍幼阁图片

@可迭代对象iterable

迭代就是逐个审查,但不一定要完成全部遍历(这是迭代与遍历的区别); 可迭代对象就是由若干并列的子元素集合而成的对象; 常见的容器和字符串都属于可迭代对象;

# 字符串和常见的容器都是可迭代对象iterable
miterable = "hello"
miterable = (1,2,3,4,5)
miterable = [1,2,3,4,5]
miterable = {1,2,3,4,5}

# 迭代器访问字典时,迭代出来的元素为键
miterable = {1:"hello",2:345,3:None,4:[1,2,3],5:""}
# 可迭代对象的简易遍历
for item in it:
    print(item)

@迭代器

基于一个可迭代对象,我们可以创建它的迭代器; 有了迭代器,我们就可以对可迭代对象中的元素进行逐个审查(但不一定要完成遍历);

# 创建基于iterable的迭代器
it = iter(miterable)

@迭代器的迭代操作

# 迭代器的简易遍历
for item in it:
    print(item)

通过next(it)的方式,可以对迭代器进行轮询迭代; 但迭代已经完成时继续迭代,系统会抛出StopIteration异常;

# 通过next(it)逐个访问
print(next(it))
print(next(it))
print(next(it))
print(next(it))
print(next(it))

# 迭代已经完成时继续迭代,系统会抛出StopIteration异常
print(next(it))
使用next(it)配合异常捕获,我们可以实现对迭代器的完整遍历:
# 遍历到越界时会抛出StopIteration异常
while True:
    try:
        print(next(it))
    except StopIteration:
        break
print("over")

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网