如果我有一个枚举对象 x,为什么要执行以下操作:
dict(x)
清除枚举序列中的所有项目?
enumerate
创建一个迭代器。迭代器是一个 python 对象,它只知道序列的当前项以及如何获取下一项,但无法重新启动它。因此,一旦您在循环中使用了迭代器,它就不能再给您任何项目并且看起来是空的。
如果你想从一个迭代器创建一个真正的序列,你可以调用list
它。
stuff = range(5,0,-1)
it = enumerate(stuff)
print dict(it), dict(it) # first consumes all items, so there are none left for the 2nd call
seq = list(enumerate(stuff)) # creates a list of all the items
print dict(seq), dict(seq) # you can use it as often as you want