亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么運行結果不同

代碼一:

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]))

為什么這兩種代碼運行結果不一樣呢?

正在回答

2 回答

可以說規則就是這樣。。

return語句就是告訴函數執行到這里就把相應值返回給主函數然后結束。

你要這么寫可以把return那行改成一個自己定義的list存儲你過濾過的結果,然后在for循環外返回這個list

0 回復 有任何疑惑可以回復我~

函數只要執行return就會結束

所以代碼二只會return ['HELLO']

2 回復 有任何疑惑可以回復我~
#1

慕設計9211462

我也遇到這樣的困惑,想了好久沒明白,看來都是新手,對return 還不熟悉,
2019-02-27 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758392    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為什么運行結果不同

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號