# 如何进行反向迭代以及如何实现反向迭代
# 实现一个连续浮点数发生器FloatRange(和xrange类似)
# 根据给定范围(start,end)和步进值(step)产生一些列 连续浮点数,如迭代FloatRange(3.0,4.0,0.2)可产生序列:
# 正向:3.0->3.2->3.4->3.6->3.8->4.0
# 反向:4.0->3.8->3.6->3.4->3.2->3.0
def main():
l=[1,2,3,4,5]
l.reverse()
# 会得到一个新的列表
l=l[::-1]
print(l)
# 列表的反向迭代
for x in reversed(l):
print(x)
pass
class FloatRang:
def __init__(self,start,end,step=0.1):
self.start=start
self.end=end
self.step=step
def __iter__(self):
t=self.start
while t<=self.end:
yield t
t+=self.step
def __reversed__(self):
t=self.end
while t>=self.start:
yield t
t -= self.step
def main2():
xulie=FloatRang(1.0, 4.0, 0.5)
for x in iter(xulie):
print(x)
for x in reversed(xulie):
print(x)
pass
main2()
【慕课网】如何进行反向迭代以及如何实现反向迭代
最新推荐文章于 2024-01-25 20:50:35 发布