今天有空解阿里面試題,關於 一行代碼實現對列表中偶數位置元素加3並求和


如:list = [1,2,3,4,5]
4.1 取出偶數下標: filter
filter(lambda x:x%2==0,range(len(list)))      ==>[0,2,4]
4.2 取出對應下標值:map
map(lambda x:list[x],filter(lambda x:x%2==0,range(len(list))))        ==>[1,3,5]
4.3 對應值加3 : lamda
map(lambda x:x+3,map(lambda x:list[x],filter(lambda x:x%2==0,range(len(list)))))
4.4 將數組求和 reduce
       reduce(lambda x,y:x+y,map(lambda x:x+3,map(lambda x:list[x],filter(lambda x:x%2==0,range(len(list))))))    ==>18

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com