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

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

python元組的列表或者列表的列表,如何簡單快速計算每個item的指定單元?

python元組的列表或者列表的列表,如何簡單快速計算每個item的指定單元?

慕田峪4524236 2019-04-21 20:40:58
說的有點(diǎn)繞口,舉個經(jīng)常調(diào)用的例子:對如下元組的list排序:students=[('john','A',15),('jane','B',12),('dave','B',10)]使用lambda函數(shù):sorted(students,key=lambdastudent:student[2])或者itemgetter:sorted(students,key=operator.itemgetter(2))很簡潔,一句話。但是是建立在函數(shù)支持這樣指定key的接口。那假如我想將所有成績求個平均值?提取所有人名打印出去?有沒有比較簡潔有效的寫法?感覺循環(huán)遍歷訪問總是有點(diǎn)不爽...
查看完整描述

2 回答

?
森欄

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

題主不想寫所謂的循環(huán)大概是指不想寫顯示的forwhile循環(huán)遍歷吧。
處理一些序列,除了迭代和遞歸,也沒有別的方法了吧。
不想用顯示的for循環(huán),寫成一句話可以使用列表解析,或者使用map,filter,reduces函數(shù)式函數(shù),或者兩者配合使用
pythonIn[1]:students=[('john','A',15),('jane','B',12),('dave','B',10)]
In[2]:map(lambdat:t[0],students)
Out[2]:['john','jane','dave']
In[3]:reduce(lambdax,y:x+y,map(lambdat:t[-1],students))/float(len(students))
Out[3]:12.333333333333334
                            
查看完整回答
反對 回復(fù) 2019-04-21
?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個贊

試試列表解析式?
例如說提取所有人名
>>>students=[('john','A',15),('jane','B',12),('dave','B',10)]
>>>names=[i[0]foriinstudents]
>>>names
['john','jane','dave']
求平均值
>>>students=[('john','A',15),('jane','B',12),('dave','B',10)]
>>>score=sum([i[2]foriinstudents])
>>>score
37
>>>score/len(students)
12.333333333333334
                            
查看完整回答
反對 回復(fù) 2019-04-21
  • 2 回答
  • 0 關(guān)注
  • 235 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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