<enumerate object at 0x7f0211ea2360>
<enumerate object at 0x7f0211ea2360>
我运行下面的代码在Python3.5.2得到了相应的输出
>>> example = ['a','b','c','d','e']
>>> enumerate(example)
<enumerate object at 0x7f0211ea2360>
我无法理解这是什么意思output.Why输出不是这样的吗
(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')
当我使用列表来包含这些元组时,输出令人满意
>>> list(enumerate(example))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')]
注意:我是 python 的新手,当我发布这个问题时,我不知道地图功能,所以我没有提到这个问题
这纯粹是Python 3中的设计选择,因为enumerate
经常被用在loops/list理解中,所以不需要生成full-fledged列表和分配内存对于以后很可能未使用的临时对象。
大多数人使用 for i,e in enumerate(example):
,所以他们甚至没有注意到生成器方面,memory/CPU 足迹更少。
要获得实际的 list
或 set
,您必须像以前那样明确地强制迭代。
(请注意,与 range
、zip
或 map
相反,enumerate
一直是一个生成器,即使在 python 2.7 中,很好从头选择)
l1 = ['a','b','c','d','e']
for i in enumerate(l1):
print i
理解枚举
说train_ids
是我训练对象的列表。
aa=enumerate(train_ids)
type(aa)
for i in aa:
print(i)
我运行下面的代码在Python3.5.2得到了相应的输出
>>> example = ['a','b','c','d','e']
>>> enumerate(example)
<enumerate object at 0x7f0211ea2360>
我无法理解这是什么意思output.Why输出不是这样的吗
(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')
当我使用列表来包含这些元组时,输出令人满意
>>> list(enumerate(example))
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e')]
注意:我是 python 的新手,当我发布这个问题时,我不知道地图功能,所以我没有提到这个问题
这纯粹是Python 3中的设计选择,因为enumerate
经常被用在loops/list理解中,所以不需要生成full-fledged列表和分配内存对于以后很可能未使用的临时对象。
大多数人使用 for i,e in enumerate(example):
,所以他们甚至没有注意到生成器方面,memory/CPU 足迹更少。
要获得实际的 list
或 set
,您必须像以前那样明确地强制迭代。
(请注意,与 range
、zip
或 map
相反,enumerate
一直是一个生成器,即使在 python 2.7 中,很好从头选择)
l1 = ['a','b','c','d','e']
for i in enumerate(l1):
print i
理解枚举
说train_ids
是我训练对象的列表。
aa=enumerate(train_ids)
type(aa)
for i in aa:
print(i)