python中枚举返回的对象是什么?

2024-04-23 11:29:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我在阅读python烹饪书,它提到enumerate()返回一个迭代器,该迭代器生成所有形式(index,item)的对(两项元组)

我可以用d=dict(enumerate(L))来做一个dict

就我的理解而言,我认为enumerate()返回一个元组。dict()可以将元组变成dict

所以我试着:

dict((1,2))

弹出TypeError。在

所以我想知道enumerate到底返回了什么对象,哪个dict()可以将它变成dict?在


Tags: 对象indexitemdict形式元组typeerrorenumerate
2条回答

这是它自己的类型:

>>> type(enumerate([]))
<class 'enumerate'>

^{}构造函数接受iterable对的iterable序列。在

您的代码段dict((1,2))无法工作,因为您正在传递一个元组(1,2),一个key,value对。它在(1,2)上迭代并查找整数,同时需要序列。在

相反,您应该传递一个包含一对的元组:

>>> dict(((1,2),))
{1: 2}

或者,例如,列表:

^{pr2}$

^{}返回一个enumerate对象,它是元组对序列的迭代器:

>>> enumerate(range(10))
<enumerate object at 0x1059b0f50>
>>> list(enumerate(range(10)))
[(0, 0), (1, 1), (2, 2), (3, 3), (4, 4), (5, 5), (6, 6), (7, 7), (8, 8), (9, 9)]

希望你能把事情弄清楚。在

相关问题 更多 >