我使用的是 itertools 中成对配方的一个稍微修改过的版本,看起来像这样
def pairwise(iterable):
"s -> (s0,s1), (s1,s2), (s2, s3), ..."
a, b = tee(iterable)
next(b, None)
return zip(a, b)
现在我需要用 python 2.5 运行代码,其中 next() 函数抛出以下异常:
<type 'exceptions.NameError'>: global name 'next' is not defined
有没有办法在 python 2.5 中使用 next()?或者我需要如何修改函数才能使其正常工作?
最佳答案
您可以自己轻松地提供此函数的定义:
_sentinel = object()
def next(it, default=_sentinel):
try:
return it.next()
except StopIteration:
if default is _sentinel:
raise
return default
关于python - 导入下一个()python 2.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11652404/