itertools“上一个”(与下一个相反)python


问题内容

我目前正在使用类似

>> import itertools
>> ABC = [a, b, c]
>> abc = itertools.cycle( ABC )
>> next( abc )
a
>> next( abc )
b    
>> next( abc )
c

我希望下一个电话是

>> previous( abc )
b

itertools中是否有一种方法可以做到这一点?


问题答案:

不,没有。

由于Python的迭代协议的工作方式,如果previous不保留所生成值的完整历史记录就无法实现。Python不会这样做,并且鉴于内存需求,您可能不希望这样做。