自定义函数、lambda表达式和列表生成式的比较
1、一个例子。一个列表list1为从0-7共8个整数,注意:range(n)表示从0开始,自动加1一直到n-1为止,如下图所示
2、用函数实现列表元素2倍加1(1)。自定义一个函数func1,给出一个空的列表ll,然后找出列表的元素下标,使用append方法添加到列表ll中,最后返回ll,函数调用后结果如下:
3、用函数实现列表元素2倍加1(2)。与上面定义的函数func1类似,这里自定义函数func2,注意区别:这里不再通过下标调用列表的元素了,而是使用for逐个取出列表元素后就直接进行运算,最终结果如下:
4、用map和lambda实现列表元素2倍加1。lambda表达式可以进行简单的函数运算(乘以2加1),而map可以瓴烊椹舟将lambda映射到list1,这时结果为iterator(迭代器),为了直观打印,用list转化为列表,最终结果如下:
5、用列表生成式实现列表元素2倍加1。其实列表本身就有一个功能可以实现简单的函数运算(我们称为列表生成式傧韭茆鳟),不需要自定义函数,也不用lambda表达式,看起来比较干净,如果都可以的话,建议大家尝试这种写法,操作如下:
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:31
阅读量:89
阅读量:85
阅读量:82
阅读量:38