為什么運行結果不同
代碼一:
def toUppers(L):
??? return [l.upper() for l in L if isinstance(l,str)]
print toUppers(['Hello', 'world', 101])
代碼二:
def toUppers(L):
??? for l in L:
??????? if isinstance(l,str):
??????????? return[l.upper()]
print (toUppers(['Hello','world', 101]))
為什么這兩種代碼運行結果不一樣呢?
2019-03-01
可以說規則就是這樣。。
return語句就是告訴函數執行到這里就把相應值返回給主函數然后結束。
你要這么寫可以把return那行改成一個自己定義的list存儲你過濾過的結果,然后在for循環外返回這個list
2018-11-26
函數只要執行return就會結束
所以代碼二只會return ['HELLO']