我得到函數,它正在搜索的東西,並可能不會返回任何東西。 我要追加到數組,但只有當它返回的東西Python3將數值附加到數組,但只有它不是無
僞
def fu():
if sometring:
return result
a = []
a.append(fu())
現在如果這個函數不返回其追加「無」到數組[result1, None, result2,etc]
價值,如何避免這種情況?
我得到函數,它正在搜索的東西,並可能不會返回任何東西。 我要追加到數組,但只有當它返回的東西Python3將數值附加到數組,但只有它不是無
僞
def fu():
if sometring:
return result
a = []
a.append(fu())
現在如果這個函數不返回其追加「無」到數組[result1, None, result2,etc]
價值,如何避免這種情況?
如果您沒有返回語句,函數會自動返回None
。爲避免將None
附加到列表中,請在追加之前檢查它。
result = f()
if result:
a.append(result)
或者使用filter
到底過濾掉None
。
a = [1, 2, None, 3]
a = filter(None, a)
print(a)
# Output
[1, 2, 3]
雖然第二種情況是可怕的,如果你調用函數的次數很多,它應該很少返回值。 –
有趣的是,我從來不知道'filter'的None操作,我一直認爲第一個參數必須是一個函數。 –
'ret = fu()''如果ret不是None None:a.append(ret)'? – vaultah
在Python中,每個函數都會返回一些東西。如果你不指定返回的內容,它將返回'None'。 –