正如标题所示,我想在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
先谢谢你
在这种情况下,枚举返回 (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)
如Alexandre的评论,代码会这样工作。
for (i, (name, sym)) in enumerate(example_dict.items()):
print(i, name, sym)
关于风格的评论: 虽然理解力在计算数值时非常整洁,但在打印的循环中使用它也可以,但会混淆你的代码的意图,使其可读性降低。