如何使用Python 2.7在itertools中使用zip_最长

如何使用Python 2.7在itertools中使用zip_最长,python,python-2.7,itertools,Python,Python 2.7,Itertools,在Windows 10上运行的Python Jupyter 2.7 nb上尝试导入此函数时,出现以下错误: 我相信我在过去没有遇到过问题,因为我使用的是Python3。因此,我想知道这是否只是因为它在Python 2中不可用,或者是否有办法让它工作。对于Python 3,方法是zip\u longest: from itertools import zip_longest from itertools import izip_longest 对于Python 2,方法是izip\u lon

在Windows 10上运行的Python Jupyter 2.7 nb上尝试导入此函数时,出现以下错误:


我相信我在过去没有遇到过问题,因为我使用的是Python3。因此,我想知道这是否只是因为它在Python 2中不可用,或者是否有办法让它工作。

对于Python 3,方法是
zip\u longest

from itertools import zip_longest
from itertools import izip_longest
对于Python 2,方法是
izip\u longest

from itertools import zip_longest
from itertools import izip_longest

如果不知道哪个版本的python运行脚本,可以使用以下技巧:

try:
    from itertools import zip_longest
except ImportError:
    from itertools import izip_longest as zip_longest

# now this works in both python 2 and 3
print(list(zip_longest([1,2,3],[4,5])))

现在的积分-在允许的情况下接受(6分钟)。很高兴我能帮忙!不要忘记在Python3中,map和zip函数返回迭代器而不是列表,因此如果需要列表,则需要list()迭代器。我经常被这件事弄得焦头烂额。我讨厌它。但懒惰的评估才是王道。