【发布时间】:2016-05-06 15:33:25
【问题描述】:
我想知道是否有好心人可以解释为什么我必须在调用 enumerate 之前转换一个已经是 list 类型的列表。
>>> l = ['russell', 'bird', 'thomas']
>>> print(type(l))
Type is: `class 'list'`.
如果我在没有明确声明的情况下枚举此列表,则输出如下:
>>> print(enumerate(l))
enumerate object at 0x00B1A0F8
当显式将此列表声明为列表时,输出如预期:
>>> print(list(enumerate(l)))
[(0, 'russell'), (1, 'bird'), (2, 'thomas')]
如果有人可以帮助解释为什么会这样,将不胜感激。
【问题讨论】:
-
你说的这个显式声明在哪里? Python 不这样做。你的意思是
list(enumerate(l))?这并不是将l声明为一个列表,而是从l列表对象创建的枚举对象生成一个列表对象。 -
您预期的输出错误。
enumerate不应该生成一个列表。 -
重新开放,因为它不再不清楚
标签: python list python-3.x indexof enumerate