相关疑难解决方法(0)

使用列表推导仅仅是副作用是Pythonic吗?

想想我正在调用它的副作用的函数,而不是返回值(比如打印到屏幕,更新GUI,打印到文件等).

def fun_with_side_effects(x):
    ...side effects...
    return y
Run Code Online (Sandbox Code Playgroud)

现在,是Pythonic使用列表推导来调用这个函数:

[fun_with_side_effects(x) for x in y if (...conditions...)]
Run Code Online (Sandbox Code Playgroud)

请注意,我不会将列表保存在任何位置

或者我应该像这样调用这个函数:

for x in y:
    if (...conditions...):
        fun_with_side_effects(x)
Run Code Online (Sandbox Code Playgroud)

哪个更好?为什么?

python list-comprehension

97
推荐指数
4
解决办法
8534
查看次数

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

正如标题所示,我想在 python 中枚举键及其值(不带括号)。我尝试了以下代码:

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

但它不起作用。我希望输出是这样的

0 left <
1 right >
2 up ^
3 down v
Run Code Online (Sandbox Code Playgroud)

先感谢您

python dictionary for-loop list-comprehension enumerate

1
推荐指数
1
解决办法
106
查看次数