第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

?return [x.upper() for x in L if isinstance(x, str)]這語句是怎么運行的?

def toUppers(L):
????return [x.upper() for x in L if isinstance(x, str)]
print toUppers(['Hello', 'world', 101])


嘗試了幾次分解寫法,都錯了,我想知道這句語句的運行過程是怎樣的

正在回答

3 回答

x.upper() for x in L if isinstance(x, str)? :將L里的第一個元素取出來,賦給x,isinstance(x, str)判斷x是否為字符串類型,是則返回true ,執(zhí)行x.upper()變?yōu)榇髮懽帜?,如果返回false,則不執(zhí)行x.upper()

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

2uo 提問者

看語句是能理解到,但是,我分開寫 for x in L: if isinstance(x,str): return x.upper() 這樣輸出的話就會在第一個滿足if條件后中止,結(jié)果看得出問題在哪,但是不知道該怎么調(diào)
2016-07-30 回復(fù) 有任何疑惑可以回復(fù)我~
#2

離鴻酹雨 回復(fù) 2uo 提問者

return語句用來從一個函數(shù) 返回 即跳出函數(shù)。 就是說在for x in L: if isinstance(x,str): return x.upper() 里return x.upper()之后就跳出了這個函數(shù)不再執(zhí)行了,所以在第一個滿足if條件后中止。 因為這一段是在生成list里學(xué)習(xí)到,所以可以把滿足條件的x.upper()放到一個list 里,最后retuen 這個list。
2016-07-30 回復(fù) 有任何疑惑可以回復(fù)我~
#3

離鴻酹雨 回復(fù) 2uo 提問者

def toUppers(L): #return [x.upper() for x in L if isinstance(x, str) ] temp=[] for x in L: if isinstance(x,str): temp.append(x.upper()) return temp print toUppers(['Hello', 'world', 101])
2016-07-30 回復(fù) 有任何疑惑可以回復(fù)我~
#4

2uo 提問者

非常感謝!
2016-07-30 回復(fù) 有任何疑惑可以回復(fù)我~
#5

2uo 提問者 回復(fù) 離鴻酹雨

那就是漏掉了return返回結(jié)束語句的知識點,之前思路還是想寫一個L[x]來循環(huán)執(zhí)行。謝謝了
2016-07-30 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)

我看錯了

0 回復(fù) 有任何疑惑可以回復(fù)我~

我不明白 upper全部都轉(zhuǎn)換成大寫 為什么只是第一個呢

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
初識Python
  • 參與學(xué)習(xí)       758365    人
  • 解答問題       8967    個

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

進入課程

?return [x.upper() for x in L if isinstance(x, str)]這語句是怎么運行的?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號