python - 在python中枚举返回什么样的对象?

标签 python dictionary enumeration enumerate

我正在阅读 python 食谱,它提到 enumerate() 返回一个迭代器,该迭代器产生所有形式(索引,项目)的对(二项元组)

我可以使用 d=dict(enumerate(L)) 来生成字典。

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

所以我尝试了:

dict((1,2))

TypeError 弹出。

所以我想知道枚举的对象实际上在这里返回哪个 dict() 可以将其变成字典?

最佳答案

dict()构造函数接受 可迭代 序列的 key,value 对。

您的代码段 dict((1,2)) 不工作,因为您传递的是一个元组 (1,2),一个 key,value 对。它遍历 (1,2) 并在期望序列的同时找到整数。

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

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

或者,例如,一个列表:

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

enumerate()返回一个 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)]

希望这能让你更清楚。

关于python - 在python中枚举返回什么样的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22853246/

相关文章:

用于枚举的 Delphi RTTI SetValue

Python Pandas 读取具有可变前导码长度的 csv 文件

python - 使用 PIL 将图像转换为特定调色板而不抖动

scala - 合成两张 map

c# - 如果键包含一些子字符串,如何从字典中动态删除键值对?

enums - 有没有办法将枚举文字与 UML 类图中的类关联起来?

python - 有没有办法获取可执行二进制文件(.exe)并以某种方式获取 "compile".wasm

python - 环境。运行 Minimal Flask 应用程序时未设置变量

ios - 将快照字典从 firebase 数据库保存到类对象

c - 使用 typedef 的 C 枚举类型的值