首页 > 代码库 > Python(五)之迭代器和列表解析

Python(五)之迭代器和列表解析

Python迭代器和列表解析

  • 迭代器

技术分享

例如:

In [1]: l1 = [1,2,3,4,5]

dir(i1)可以看到内置方法‘__iter__‘

生成一个迭代器:

l1.__iter__,或i2 = iter(l1)

技术分享

技术分享

技术分享

技术分享

 

 

  • 列表解析

列表解析:根据已有列表,高效生成新列表的方式

 技术分享

技术分享

技术分享

技术分享

列表交叉生产元素为元组的列表:

 技术分享

技术分享

列表解析扩展:

上述列表解析直接生成列表,如果列表过大,会占用过多内存,那么可以使用生成器返回一个生成器对象,如下解释:列表解析和生成器表达式关系类似于range和xrange的关系。

技术分享

例如:

技术分享

技术分享

rang(1,10,2)引用索引本身

enumerate 及引用所用又引用元素本身

技术分享

 

Python(五)之迭代器和列表解析