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

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

如何將'if'條件合并到for循環語句中

如何將'if'條件合并到for循環語句中

胡說叔叔 2021-06-06 00:00:00
data = [(1,'hi'),(2,'hello'),(3,'hi'),(4,'hi'),(5,'hello'),(6,'hello'), (7,'hi'),(8,'hello')]new_data = []for i in data:    if i[1] == 'hi':        new_data.append(i)print(new_data)輸出:[(1, 'hi'), (3, 'hi'), (4, 'hi'), (7, 'hi')]我是python的初學者。我想要相同的輸出,但想要減少“For”循環中的代碼量并提高效率。
查看完整描述

2 回答

?
慕哥6287543

TA貢獻1831條經驗 獲得超10個贊

雖然您的循環很好,但您可以使用列表理解

new_data = [i for i in data if i[1] == 'hi']


查看完整回答
反對 回復 2021-06-09
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

您可以使用列表理解和過濾器在一行中寫入。在這個問題上有一個關于過濾器的很好的解釋。使用過濾器可以利用惰性求值,這有利于縮短執行時間。


data = [(1,'hi'),(2,'hello'),(3,'hi'),(4,'hi'),(5,'hello'),(6,'hello'), (7,'hi'),(8,'hello')]

new_data = list(filter(lambda i: i[1] == 'hi', data))

輸出


[(1, 'hi'), (3, 'hi'), (4, 'hi'), (7, 'hi')]


查看完整回答
反對 回復 2021-06-09
  • 2 回答
  • 0 關注
  • 279 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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