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

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

第二個if為啥不能用and

def toUppers(L):

? ? return [x.upper() for x in L and isinstance(x,str)]

print toUppers(['Hello', 'world', 101])


正在回答

2 回答

這一段最先被執行的部分是 ?L and isinstance(x,str)?

然后再對這個表達式的值迭代(雖然這個式子返回布爾值并不能迭代,不過這不是重點)

重點是x得有值才能被引用,然而在迭代了之后x才被賦值,并且執行到isinstance(x,str)時迭代還沒開始

所以你的寫法有問題

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

bhjzlwq

受教了
2016-02-18 回復 有任何疑惑可以回復我~
#2

wxa1 提問者

非常感謝!
2016-02-22 回復 有任何疑惑可以回復我~

for循環是迭代不是條件,and用于兩個條件之間

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

舉報

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

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

進入課程

第二個if為啥不能用and

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

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

幫助反饋 APP下載

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

公眾號

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