如何在python中使用enumerate()来枚举字典中的项目。

问题描述 投票:0回答:1

正如标题所示,我想在python中枚举键和它的值(不含括号),我尝试了以下代码。

example_dict = {'left':'<','right':'>','up':'^','down':'v',}
[print(i,j,a) for (i,j,a) in enumerate(example_dict.items())]

但它不工作,我希望输出是这样的。

0 left <
1 right >
2 up ^
3 down v

先谢谢你

python dictionary for-loop list-comprehension enumerate
1个回答
8
投票

在这种情况下,枚举返回 (index, (key, value))所以你只需要把你的拆包改为 for i, (j, a)虽然我个人会使用 k, v 而不是 j, a 在一个例子中。

BTW不要用理解的方式来处理副作用,用for-loop就可以了。

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

1
投票

如Alexandre的评论,代码会这样工作。

for (i, (name, sym)) in enumerate(example_dict.items()):
    print(i, name, sym)

关于风格的评论: 虽然理解力在计算数值时非常整洁,但在打印的循环中使用它也可以,但会混淆你的代码的意图,使其可读性降低。

© www.soinside.com 2019 - 2024. All rights reserved.