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

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

如何在for循環(huán)和if語句中簡化for循環(huán)?

如何在for循環(huán)和if語句中簡化for循環(huán)?

湖上湖 2021-10-10 16:21:31
我可以將此代碼縮短為 1-2 行嗎?我已經(jīng)嘗試將它變成列表理解,但我不確定如果 for 循環(huán)之一使用字典鍵它會如何工作。for a in dict.keys():      for q in list:          if a in q:              dict[a].append(q)  這段代碼可以很好地查找列表中的項目是否是字典的鍵之一,如果是,則將該項目存儲為該字典鍵下的值,但我希望弄清楚是否可以進(jìn)一步簡化它。
查看完整描述

2 回答

?
繁星淼淼

TA貢獻(xiàn)1775條經(jīng)驗 獲得超11個贊

最初我想提出以下建議:

{k: v for v in mylist for k in mydict if k in v}

但后來我注意到你實際上正在修改你的輸入,這不是正在發(fā)生的事情。這實際上應(yīng)該做同樣的事情(我對輸入做了一兩個假設(shè)):

for key in mydict.keys():
    mydict[key].extend((i for i in mylist if key in i))

但一個不請自來的建議。代碼片段確實不需要縮短。相反,它可以用更冗長和更具描述性的變量名稱來引導(dǎo)讀者閱讀并幫助理解正在發(fā)生的事情。

在任何情況下,請不要使用變量名狀dictlist那些已經(jīng)使用內(nèi)置型的構(gòu)造,它真的是自討苦吃,以重新分配給不同的對象(在大多數(shù)情況下,甚至如果仔細(xì)考慮和打算,我仍然建議不要這樣做)。


查看完整回答
反對 回復(fù) 2021-10-10
?
萬千封印

TA貢獻(xiàn)1891條經(jīng)驗 獲得超3個贊

如果你愿意,你可以把它變成一個列表理解,像這樣:[my_dict[a].append(q) for a in my_dict for q in my_list if a in q],但是,正如你在評論中看到的,這是不推薦的,實際上可能更難閱讀和理解。

循環(huán)用于迭代的內(nèi)容并不重要。我花了這么長時間才明白forget 是按照它們在嵌套循環(huán)結(jié)構(gòu)中的順序編寫的,而不是作為要計算的表達(dá)式反轉(zhuǎn)。


查看完整回答
反對 回復(fù) 2021-10-10
  • 2 回答
  • 0 關(guān)注
  • 319 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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