首页 > 学院 > 开发设计 > 正文

一行代码实现对列表a中的偶数位置的元素进行加3后求和(阿里校招)

2019-11-08 01:34:34
字体:
来源:转载
供稿:网友

无意间在网上看到这个阿里校招面试题,正好自己也在自学python,于是尝试实现了一下:

#!usr/bin python# -*- coding: utf-8 -*-from functools import reducel = [ 1, 2, 3, 4, 5 , 6 ] l2 = reduce( lambda x, y : x + y, map( lambda i: i+3, list( filter( lambda y:y%2 == 0, l ) ) ) ) l3 = sum( list( map( lambda x: x + 3, list( filter( lambda y:y%2 == 0, l ) ) ) ) )PRint( l2 )print( l3 )

这里reduce实现的就是sum的功能,看不出二者的区别。 比较尴尬的是,目前不会将

map( lambda i: i+3, list( filter( lambda y:y%2 == 0, l ) ) )

转换成for循环,原则上map都可以转换的,以后再来修改。

Tips:reduce的参数 -函数-必须接受两个参数。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表