python 反向迭代器reserved

  • 2019 年 10 月 10 日
  • 筆記

a = [1, 2, 3, 4] for x in reversed(a): … print(x) … 4 3 2 1

Print a file backwards

f = open('somefile') for line in reversed(list(f)): print(line, end='')

class Countdown: def init(self, start): self.start = start

# Forward iterator  def __iter__(self):      n = self.start      while n > 0:          yield n          n -= 1    # Reverse iterator  def __reversed__(self):      n = 1      while n <= self.start:          yield n          n += 1

for rr in reversed(Countdown(30)): print(rr) for rr in Countdown(30): print(rr)