这个枚举发生了什么

时间:2018-05-15 17:03:40

标签: python-3.x enumeration

在这段代码中,我列出了几天的日期,然后从中创建一个枚举对象。当我将其转换为列表时,我得到了预期的结果。

当我做

时,my_enumerate_object发生了什么

list(my_enumerate_object)

我第二次得到一个空列表?这个垃圾收集器在运行吗?

my_list = ["Monday",
       "Tuesday",
       "Wednesday",
       "Thursday",
       "Friday",
       "Saturday",
       "Sunday"]


my_enumerate_object = enumerate(my_list)

# I can make a list from my_enumerate_object
list(my_enumerate_object)
Out[14]: 
[(0, 'Monday'),
 (1, 'Tuesday'),
 (2, 'Wednesday'),
 (3, 'Thursday'),
 (4, 'Friday'),
 (5, 'Saturday'),
 (6, 'Sunday')]

# but not again
list(my_enumerate_object)
Out[15]: []

1 个答案:

答案 0 :(得分:3)

通过枚举对象迭代,如列表构造函数所做的那样,使用枚举对象。以相同的方式构造第二个列表将需要一个新的枚举对象。