【发布时间】:2018-02-04 02:35:00
【问题描述】:
我正在阅读 Bill Lubanovic 的“Python 简介”,它说
和 zip() 一样,range() 返回一个可迭代对象,
但这不是错误的说法吗?例如,
s= zip([1,2,3],['one','two','three'])
next(s)
>> (1,'one')
next(s)
>> (2,'two')
a = range(10)
next(a)
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-54-7b3ad3809256> in <module>()
1 a = range(10)
----> 2 next(a)
TypeError: 'range' object is not an iterator
从上面的代码中,我们可以检查 zip() 返回的是一个迭代器而不是一个可迭代的对象。
【问题讨论】:
-
哪个 Python 版本?
-
@KlausD。我正在使用 Python 3.6.1,本书采用 Python 3
-
next(s)返回(1,'one'),而不是1。