>>> s = 'spam'
>>> s.__next__()
结果为: Traceback (most recent call last): File "", line 1, in s._next_() AttributeError: 'str'对象没有'_next_'属性
但在文档http://docs.python.org/py3k/library/stdtypes.html#iterator-types中,我们可以了解到迭代器类型:
Python支持对容器进行迭代的概念。这是使用两种不同的方法实现的;这些方法用于允许用户定义的类支持迭代。序列,在下面更详细地描述,总是支持迭代方法。
下面描述的是:序列类型- str、bytes、bytearray、list、tuple、range。
那么,为什么str不支持next()呢?
i = iter('spam')
,然后多次调用next(i)
来获得所需的结果。 - Lev Levitskylist
)。 - Lev Levitskystring[-1]
来明确访问最后一个元素,如果你想要反向迭代,可以使用reversed
。 - Tadhg McDonald-Jensen