当前位置: 首页 > 知识库问答 >
问题:

枚举()在Python中的字典

颜哲彦
2023-03-14

我知道我们使用enumerate来迭代列表,但我在字典上试过了,它没有给出错误。

代码:

enumm = {0: 1, 1: 2, 2: 3, 4: 4, 5: 5, 6: 6, 7: 7}

for i, key in enumerate(enumm):
    print(i, key)

输出:

0 0

1 1

2 2

3 4

4 5

5 6

6 7

有人能解释一下输出吗?

共有3个答案

虞裕
2023-03-14

我想补充一下,如果您想枚举字典的索引、键和值,您的for循环应该是这样的:

for index, (key, value) in enumerate(your_dict.items()):
    print(index, key, value)
曾山
2023-03-14

输出的第一列是enumm中每个项目的索引,第二列是其键。如果要迭代字典,请使用.items():

for k, v in enumm.items():
    print(k, v)

输出应该如下所示:

0 1
1 2
2 3
4 4 
5 5
6 6
7 7
印成天
2023-03-14

在已经提供的答案之上,Python中有一个非常好的模式,允许您枚举字典的键和值。

枚举字典键的正常大小写:

example_dict = {1:'a', 2:'b', 3:'c', 4:'d'}

for i, k in enumerate(example_dict):
    print(i, k)

其输出:

0 1
1 2
2 3
3 4

但是,如果您想枚举键和值,以下是方法:

for i, (k, v) in enumerate(example_dict.items()):
    print(i, k, v)

其输出:

0 1 a
1 2 b
2 3 c
3 4 d
 类似资料:
  • 问题内容: 我定义了以下枚举 现在的印刷价值是 相反,我想打印枚举的值 要实现此功能可以做些什么? 问题答案: 您正在打印枚举 对象 。如果只想打印该属性,请使用该属性: 请参阅 对枚举成员及其属性 的 编程访问权限 部分 : 如果您有枚举成员并需要其名称或值: 如果只需要提供自定义字符串表示形式,则可以向枚举添加方法: 演示:

  • 问题内容: 这个问题已经在这里有了答案 : 10年前关闭。 复制: 在Python中实现“枚举”的最佳方法是什么? 在python中进行枚举的公认方法是什么? 例如,目前我正在编写游戏,希望能够将“上”,“下”,“左”和“右”移动。我使用字符串是因为我还没有弄清楚枚举在python中是如何工作的,所以我的逻辑充满了这样的东西: 我想用类似的东西代替 问题答案:

  • 问题内容: 我们有一个带有枚举字段-的实体,我们想使用JPA注释-为它设置默认值。 但是,当我们将实体保存到数据库时,此字段的值为和。对于布尔字段- 正确的默认值()已保存。 如果改为使用:,则会在保存时得到以下异常: 我们做错了什么?为什么它仅适用于布尔值? 问题答案: 当某些SQL代码在未为emailCommunicationStatus列指定任何值的情况下插入一行时,您所做的工作很有用。在这

  • 一些具有特殊含义的类,其实例化对象的个数往往是固定的,比如用一个类表示月份,则该类的实例对象最多有 12 个;再比如用一个类表示季节,则该类的实例化对象最多有 4 个。 针对这种特殊的类, Python 3.4 中新增加了 Enum 枚举类。也就是说,对于这些实例化对象个数固定的类,可以用枚举类来定义。 例如,下面程序演示了如何定义一个枚举类: 如果想将一个类定义为枚举类,只需要令其继承自 enu

  • 问题内容: 这不是卡住我的问题,而是我正在寻找一种编写代码的整洁方法。 本质上,我正在编写一个事件驱动的应用程序。用户触发一个事件,该事件被发送到适当的对象,然后这些对象处理事件。现在,我正在编写偶数处理程序方法,并且希望使用switch语句确定如何处理事件。现在,在我研究通用结构时,事件类非常简单: 然后,在另一堂课中,我会看到类似以下内容的内容: 我会 喜欢 做的就是这样的事情(尽管我当然会坚

  • 问题内容: 我主要是C#开发人员,但目前正在使用Python开发项目。 如何用Python表示等效的枚举? 问题答案: 如PEP 435中所述,将枚举添加到Python 3.4中。它也已在pypi上反向移植到3.3、3.2、3.1、2.7、2.6、2.5和2.4。 对于更高级的Enum技术,请尝试aenum库(2.7、3.3+,与作者相同。py2和py3之间的代码并不完全兼容,例如,您需要__or