[英]Python - Call a Function on a Condition
我想知道是否有一種簡潔的方法來調用條件上的函數。
我有這個:
if list_1 != []:
some_dataframe_df = myfunction()
我想知道這是否可能在三元運算符或類似的東西中。
如果我做
(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
和normal if
語句是正確的。
在三元運算符中使用pass
似乎是一個壞主意,特別是因為你可以內聯單個語句if
。
如果您不擔心列表為None
,則可以將測試縮短為僅使用列表本身的布爾值。 這樣做的好處是它可以允許任何正常的序列,而不僅僅是列表。
總而言之,你可以這樣做:
if list_1: some_dataframe_df = myfunction()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.