2016-09-29 112 views
-1

<enumerate object at 0x000000000302E2D0>是什么意思?Python中枚举的意思是什么?

>>> my_list = ['apple', 'banana', 'grapes', 'pear']
>>> enumerate(my_list)
<enumerate object at 0x000000000302E2D0>

我尝试谷歌仍然不明白为什么我们有<enumerate object at 0x000000000302E2D0>。你能帮我解决这个问题吗?
谢谢。

+0

与[此问题](http://stackoverflow.com/q/24260582/1639625)相关,如果不是确切的重复, –

回答

1

enumerate.__doc__

enumerate(iterable[, start]) -> iterator for index, value of iterable 

Return an enumerate object. iterable must be another object that supports 
iteration. The enumerate object yields pairs containing a count (from 
start, which defaults to zero) and a value yielded by the iterable argument. 
enumerate is useful for obtaining an indexed list: 
    (0, seq[0]), (1, seq[1]), (2, seq[2]), ... 
2

它返回一个枚举对象,这是一个迭代。它并没有实际向您显示它包含的内容,除非您明确提出要求。一种方法是强制它成为一个列表。

>>> my_list = ['apple', 'banana', 'grapes', 'pear'] 
>>> a = enumerate(my_list) 
>>> a 
<enumerate at 0x7ffff27d0630> 
>>> list(a) 
[(0, 'apple'), (1, 'banana'), (2, 'grapes'), (3, 'pear')] 

您还可以迭代for循环中的枚举对象。

查看this question了解更多关于迭代器的信息。