Python 学习日知录(九)- 迭代器初步二

python 专栏收录该内容
10 篇文章 0 订阅

Python 学习日知录(九)- 迭代器初步二

1. Python中的可迭代对象(Iterable)

python中用迭代器统一了for循环的实现过程,也就是说一切可迭代的对象都可用for来遍历。Python的常见可迭代对象有如下几个:

for element in [1, 2, 3]: # 数组
    print element
for element in (1, 2, 3):  # 元组
    print element
for key in {'one':1, 'two':2}:  # 字典
    print key
for char in "123":  # 字符串
    print char
for line in open("myfile.txt"):  # 文件
    print line,

for语句调用可迭代对象的过程如下:

  1. 首先利用iter函数获取迭代器;
  2. 然后利用.next方法进行迭代;
  3. 遇到StopIteration异常,结束循环;

2. python2官方文档中的例子

class Reverse:
    """Iterator for looping over a sequence backwards."""
    def __init__(self, data):  # 初始化
        self.data = data
        self.index = len(data)

    def __iter__(self):  # 返回对象本省作为迭代器
        return self

    def next(self):
        if self.index == 0:  # 迭代到第一个对象,结束循环
            raise StopIteration

        self.index = self.index - 1
        return self.data[self.index]

test_list = [1,2,3,4,5,6,7,8]  # 待测试数组
test_list_reverse = Reverse(test_list)  # 声明Reverse对象
for i in test_list_reverse:  # for循环打印
    print i

参考资料:
1. 9.9. Iterators

  • 1
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值