您如何將以下條件轉換為串列理解?
a = list()
if inputs is not None:
for i in inputs:
a.append(my_function(i))
else:
a.append(my_function())
我剛在想:
a = [my_function(input) for input in inputs else my_function() if inputs is not None]
但出現錯誤。
注意:這只是一個帶有偽名稱的偽代碼。為混亂道歉。
uj5u.com熱心網友回復:
您有點錯誤需要超出串列理解范圍:
a = [my_function(i) for i in inputs] if inputs is not None else my_function()
我換input到i,因為input是內置的功能。
uj5u.com熱心網友回復:
你的函式的撰寫方式,你真正需要的是:
a = my_function(inputs[-1]) if inputs is not None else my_function()
除非my_function有副作用。然后你可以使用:
a = [my_function(i) for i in inputs][-1] if inputs is not None else my_function()
因為您不斷覆寫回圈中的 a ,所以只保留最后一次呼叫。
uj5u.com熱心網友回復:
a = [my_function()] if inputs is None else [my_function(i) for i in inputs]
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406005.html
標籤:
