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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

python列表列表推導(dǎo)式為何加了if之后數(shù)據(jù)就沒了求解答!

python列表列表推導(dǎo)式為何加了if之后數(shù)據(jù)就沒了求解答!

哈士奇WWW 2019-08-11 14:06:02
fromitertoolsimportgroupbyfils=['a.jpg','a.png','b.jpg','c.jpg','c.png']res=groupby(fils,lambdas:s.split('.')[0])list_res=[(key,list(group))forkey,groupinresiflen(list(group))>1]print(list_res)我目的是分組后,過濾掉文件名只有1個(gè)的文件,例如過濾掉這里的b。但是在加了iflen(list(group))>1之后,輸出是[('a',[]),('c',[])],所有g(shù)roup部分的結(jié)果都變成[]了。如果不加if,輸出是[('a',['a.jpg','a.png']),('b',['b.jpg']),('c',['c.jpg','c.png'])],雖然沒有達(dá)到我的結(jié)果,但是起碼group部分的值保留了下來。請(qǐng)問這個(gè)if部分,應(yīng)該怎么改,才能達(dá)到我要的效果,也就是輸出[('a',['a.jpg','a.png']),('c',['c.jpg','c.png'])]。其實(shí)我已經(jīng)用另一個(gè)方法做出來的。fils=['a.jpg','a.png','b.jpg','c.jpg','c.png']res=groupby(fils,lambdas:s.split('.')[0])list_res=[(key,list(group))forkey,groupinres]print(dict(filter(lambdax:len(x[1])>1,list_res)))看了一下幾位大佬的回復(fù),似乎也沒有更優(yōu)雅的解決辦法。
查看完整描述

2 回答

?
森欄

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊

因?yàn)閗,g的g是一個(gè)迭代器對(duì)象,也就是說使用list(g)之后里面已經(jīng)沒有數(shù)據(jù)了,所以并不能二次使用list(g)
fromitertoolsimportgroupby
fils=['a.jpg','a.png','b.jpg','c.jpg','c.png']
lst=[]
fork,gingroupby(fils,lambdas:s.split('.')[0]):
lst_g=list(g)
iflen(lst_g)>1:
lst.append((k,lst_g))
print(lst)
不理解你所謂的優(yōu)雅是什么,代碼更短?
fromitertoolsimportgroupby
fils=['a.jpg','a.png','b.jpg','c.jpg','c.png']
lst_g=[(k,list(g))fork,gingroupby(fils,lambdas:s.split('.')[0])]
lst=[(k,g)fork,ginlst_giflen(g)>1]
printlst
                            
查看完整回答
反對(duì) 回復(fù) 2019-08-11
?
倚天杖

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

fromitertoolsimportgroupby
fils=['a.jpg','a.png','b.jpg','c.jpg','c.png']
res=groupby(fils,lambdas:s.split('.')[0])
list_res=[]
forkey,valueinres:
value=list(value)
iflen(value)>1:
list_res.append((key,value))
print(list_res)
                            
查看完整回答
反對(duì) 回復(fù) 2019-08-11
  • 2 回答
  • 0 關(guān)注
  • 304 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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