关于迭代

2017-05-28  本文已影响0人  侃侃看看

关于迭代

定义:

迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果,每一次对过程的重复称为一次迭代,而每一次的迭代得到的结果为下一次迭代的初始值

Python中的迭代

而一口气将文件读入内存,不仅耗时而且占用大量内存,所以,读一点处理一点的‘流式操作’比较好

反向迭代

实现__reversed__()方法
class test(object):
def __init__(self,start,end,step = 0.1):
    self.start = start
    self.end = end
    self.step = step
def __iter__(self):
    i = self.start
    while i <= self.end:
        yield i
        i = i+self.step
def __reversed__(self):
    i = self.end
    while i >= self.start:
        yield i
        i = i-self.step

_test1 = test(1.0,4.0,0.2)
_test2 = test(1.0,4.0,0.5)
for i in _test1:
    print(i,end=',')
print("")
for i in reversed(_test2):
    print(i,end=',')

对迭代器切片

使用itertools下的islice方法
from itertools import islice

l=range(20)
t = iter(l)
for i in islice(t,5,10):
    print(i,end=",")
# 结果是5,6,7,8,9,10

for i in t:
    print(i,end=",")
#结果是 11,12,13,14,15,16,17,18,19
#说明迭代之后的就消耗了,要重新迭代必须重新生成迭代器才行

可迭代对象的连接

from itertools import chain
    for x in chain([1,2,3,4],['a','b','c'])
        print(x,end=',')
#结果是 1,2,3,4,a,b,c

示例代码

上一篇 下一篇

猜你喜欢

热点阅读