Python使用 - Iterable, Iterator

Iterable: 表示可迭代对象, 用于获取迭代器(实现__iter__函数来返回迭代器)

Iterator: 表示迭代器,用于遍历元素(通过__next__函数),迭代器也是可迭代对象

复制代码
from collections.abc import Iterable, Iterator

my_list = [1, 2, 3]
my_iterator = iter(my_list)
print(type(my_iterator)) # <class 'list_iterator'>
print(isinstance(my_list, Iterable), isinstance(my_list, Iterator)) #True False
print(isinstance(my_iterator, Iterable), isinstance(my_iterator, Iterator)) #True True

print(next(my_iterator)) # 1
print(next(my_iterator)) # 2
print(next(my_iterator)) # 3
# print(next(my_iterator)) # 没有更多元素了, 会抛异常: StopIteration
复制代码

 

*+迭代器:表示展开迭代器

my_list = [1, 2, 3]
my_iterator = iter(my_list)
print(*my_iterator) # 1 2 3

 

参考

Python中可迭代对象、迭代器以及iter()函数的两个用法详解 - 知乎 (zhihu.com)

Python中的Iterator和Iterable类_patrickpdx的博客-CSDN博客

Python之Iterable与Iterator - 知乎 (zhihu.com)

 
posted @   yanghui01  阅读(32)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示