如何在 python 中使用 enumerate( ) 枚举字典中的项目
How to enumerate items in a dictionary with enumerate( ) in python
如标题所示,我想在 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
提前致谢
在这种情况下枚举 returns (index, (key, value))
,因此您只需将解包更改为 for i, (j, a)
,但我个人会使用 k, v
而不是 [=14] =] 在一个例子中。
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
顺便说一句,don't use a comprehension for side effects;只需使用 for 循环。
正如 Alexandre 的评论一样,代码将像这样工作:
for (i, (name, sym)) in enumerate(example_dict.items()):
print(i, name, sym)
关于风格的评论:虽然在计算值时理解非常简洁,但将它用于打印循环会起作用,但会混淆代码的意图,使其可读性降低。
如标题所示,我想在 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
提前致谢
在这种情况下枚举 returns (index, (key, value))
,因此您只需将解包更改为 for i, (j, a)
,但我个人会使用 k, v
而不是 [=14] =] 在一个例子中。
for i, (k, v) in enumerate(example_dict.items()):
print(i, k, v)
顺便说一句,don't use a comprehension for side effects;只需使用 for 循环。
正如 Alexandre 的评论一样,代码将像这样工作:
for (i, (name, sym)) in enumerate(example_dict.items()):
print(i, name, sym)
关于风格的评论:虽然在计算值时理解非常简洁,但将它用于打印循环会起作用,但会混淆代码的意图,使其可读性降低。