Python - 根据条件调用函数

Python - Call a Function on a Condition

我想知道是否有一种简洁的方法可以根据条件调用函数。

我有这个:

if list_1 != []:
    some_dataframe_df = myfunction()

我想知道是否可以在 ternary operator 或类似的东西中做到这一点。

如果我这样做

(some_dataframe_df = myfunction()) if list_1 != [] else pass

没用。

你的代码没问题。我建议的唯一更改是使用非空列表的固有真实性:

if list_1:
    some_dataframe_df = myfunction()

如果你想使用三元语句,应该写成:

some_dataframe_df = myfunction() if list_1 else some_dataframe_df

然而,这既不简洁也不可读。

在三元运算符中使用 pass 似乎不是一个好主意,尤其是因为您可以内联单个语句 if.

如果您不担心您的列表是 None,您可以缩短测试以仅使用列表本身的布尔值。这样做的好处是它允许任何正常序列,而不仅仅是列表。

总而言之,您可以这样做:

if list_1: some_dataframe_df = myfunction()

在三元运算符中,条件是一个表达式,而不是语句。因此,您不能使用 pass 而您使用的正常 if 语句是正确的。