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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用if語句進行列表理解

使用if語句進行列表理解

Helenr 2019-10-29 10:42:55
我想比較2個可迭代項并打印出現在兩個可迭代項中的項目。>>> a = ('q', 'r')>>> b = ('q')# Iterate over a. If y not in b, print y.# I want to see ['r'] printed.>>> print([ y if y not in b for y in a])                              ^但這給我一個無效的語法錯誤,該錯誤^已放置在。這個lamba函數有什么問題?
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經驗 獲得超6個贊

您將放在if最后:


[y for y in a if y not in b]

列表解析的編寫順序與其嵌套的完整指定副本的書寫順序相同,實質上,以上聲明翻譯為:


outputlist = []

for y in a:

    if y not in b:

        outputlist.append(y)

您的版本嘗試這樣做:


outputlist = []

if y not in b:

    for y in a:

        outputlist.append(y)

但是列表理解必須至少從一個外部循環開始。


查看完整回答
反對 回復 2019-10-29
?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

這不是lambda函數。這是一個列表理解。


只需更改順序:


[ y for y in a if y not in b]


查看完整回答
反對 回復 2019-10-29
  • 3 回答
  • 0 關注
  • 480 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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