在Python中使用lambda高效操作列表的教程

这篇文章主要介绍了在Python中使用lambda高效操作列表的教程,结合了包括map、filter、reduce、sorted等函数,需要的朋友可以参考下

介绍

lambda

Python用于支持将函数赋值给变量的一个操作符
默认是返回的,所以不用再加return关键字,不然会报错  
 

result = lambda x: x * x

result(2) # return 4

map()/filter()/reduce()



需要两个参数,第一个是一个处理函数,第二个是一个序列(list,tuple,dict)

map()



将序列中的元素通过处理函数处理后返回一个新的列表

filter()



将序列中的元素通过函数过滤后返回一个新的列表

reduce()



将序列中的元素通过一个二元函数处理返回一个结果

将上面三个函数和lambda结合使用  
 

li = [1, 2, 3, 4, 5]

# 序列中的每个元素加1

map(lambda x: x 1, li) # [2,3,4,5,6]

 

# 返回序列中的偶数

filter(lambda x: x % 2 == 0, li) # [2, 4]

 

# 返回所有元素相乘的结果

reduce(lambda x, y: x * y, li) # 1*2*3*4*5 = 120



sorted() 结合lambda对列表进行排序



sorted 用于列表的排序,比列表自带的更加智能
有两个列表,每个列表中都有一个字典([{},{}])要求将两个这样的列表合并后按照时间排序,
两个列表中的时间为了能够通过json输出已经由时间格式转变为字符串格式.字段名为 sort_time
现在将他们按照倒序排列

sorted 的用法



sorted(iterable, cmp=None, key=None, reverse=False)
--> new sorted list terable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项; reverse:排序规则. reverse =
True 或者 reverse = False,有默认值。 *
返回值:是一个经过排序的可迭代类型,与iterable一样。

sorted()结合lambda对可迭代类型用sort_time排序

sorted(data, key=lambda d: d['sort_time'], reverse=True)

在Python中使用lambda高效操作列表的教程的更多相关文章

  1. 【转】python 历险记(四)— python 中常用的 json 操作

    [转]python 历险记(四)— python 中常用的 json 操作 目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编 ...

  2. 关于Python中的lambda

    lambda是Python编程语言中使用频率较高的一个关键字.那么,什么是lambda?它有哪些用法?网上的文章汗牛充栋,可是把这个讲透的文章却不多.这里,我们通过阅读各方资料,总结了关于Python ...

  3. 转:关于Python中的lambda,这篇阅读量10万+的文章可能是你见过的最完整的讲解

    lambda是Python编程语言中使用频率较高的一个关键字.那么,什么是lambda?它有哪些用法?网上的文章汗牛充栋,可是把这个讲透的文章却不多.这里,我们通过阅读各方资料,总结了关于Python ...

  4. (数据科学学习手札145)在Python中利用yarl轻松操作url

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 大家好我是费老师,在诸如网络爬虫.web应用开发 ...

  5. python中的lambda表达

    C++中的lambda表达式与C++11增加标准库,是一个简短的匿名的可调用对象,编译器会将其转化为一个匿名类的对象.lambda表达式的最大特点就是简短灵活.调用方便.它不须要处理非常复杂的逻辑.通 ...

  6. python入门学习:3.操作列表

    python入门学习:3.操作列表 关键点:列表 3.1 遍历整个列表3.2 创建数值列表3.3 使用列表3.4 元组 3.1 遍历整个列表   循环这种概念很重要,因为它是计算机自动完成重复工作的常 ...

  7. Python中的lambda函数介绍

    Lambda函数,即Lambda 表达式(lambda expression),是一个匿名函数(不存在函数名的函数),Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lam ...

  8. 【转】python中的lambda函数

    http://www.cnblogs.com/coderzh/archive/2010/04/30/python-cookbook-lambda.html lambda函数也叫匿名函数,即,函数没有具 ...

  9. python 历险记(四)— python 中常用的 json 操作

    目录 引言 基础知识 什么是 JSON? JSON 的语法 JSON 对象有哪些特点? JSON 数组有哪些特点? 什么是编码和解码? 常用的 json 操作有哪些? json 操作需要什么库? 如何 ...

随机推荐

  1. redis——redis的一些核心把握

    redis单线程,为什么比较快 单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求,其他模块仍用了多个线程.redis能够快速执行的原因有三点: (1) 绝大 ...

  2. The fastest MySQL Sandbox setup ever!

    MySQL-Sandbox 3.1.10 introduces a new utility, different from anything I have put before in the MySQ ...

  3. P2402 奶牛隐藏 二分+网络流

    floyd搞出两点间最短距离 二分判答案 // luogu-judger-enable-o2 #include<bits/stdc++.h> using namespace std; ty ...

  4. bat 提示窗口,带换行

    bat 提示窗口 各种窗口样式 mshta vbscript:msgbox("内容1",1,"标题1")(window.close) mshta vbscrip ...

  5. golang restful api

    https://medium.com/@petrousov/how-to-build-a-restful-api-in-go-for-phonebook-app-d55f7234a10 ------- ...

  6. python : import详解。

    用户输入input() input()函数: 用于从标准输入读取数值. >>> message = input('tell me :') tell me :hahah >> ...

  7. HTML5——2 HTML5视频

    在以往我们还是使用flash来进行播放视频,但是它有先天的缺陷,比如,很多的浏览器并不会直接去支持flash插件,需要你自己去安装,而且版本也很难去统一,也有浏览器先天集成了这个插件,比如Chrome ...

  8. 解决安卓app在真机上的无法登录问题

    和小伙伴用安卓做的app在模拟器上可以正常使用,但是变成apk发到手机上下载使用时,出现无法的登录问题,而且登录提示的错误出现一秒就消失了,无法看清. 于是找了一下老师帮忙,老师是通过在电脑主机上插入 ...

  9. 一个restframework快速实例

    首先在settings.py中引入 INSTALLED_APPS = [ ...... 'rest_framework', ......] 相关模型结构如下: class custume(models ...

  10. IO编程之序列化

    转载地址:https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138683221 ...