在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. 洛谷 P2765 魔术球问题 (dinic求最大流,最小边覆盖)

    P2765 魔术球问题 题目描述 «问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2 ...

  2. HashSet怎样保证元素不重复

    文章同步更新在个人博客:HashSet怎样保证元素不重复 都知道HashSet中不能存放重复元素,有时候可以用来做去重操作等.但是其内部是怎么保证元素不重复的呢?下面从源码去看看. 打开HashSet ...

  3. C#实现异步阻塞TCP(Send,Receive,Accept,Connect)

    1.类 (1)服务器端操作类 public class TcpServiceSocket { //接收数据事件 public Action<Socket, string> recvMess ...

  4. 一个 TCP 连接可以发多少个 HTTP 请求?

    曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么?相信大多数准备过的同学都能回答出来,但是如果继续问:收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式. ...

  5. p4434 [COCI2017-2018#2] ​​Usmjeri

    思路 并查集的好题 考虑到求满足条件限制的方案数,显然观察样例可知结果就是2^x,x是互不影响的边的集合数量 然后考虑如何求互不影响的边的集合数量 可以使用并查集,用i和i+n表示这个点的父亲连向它的 ...

  6. 洛谷P3600随机数生成器——期望+DP

    原题链接 写到一半发现写不下去了... 所以orz xyz32768,您去看这篇题解吧,思路很清晰,我之前写的胡言乱语与之差距不啻天渊 #include <algorithm> #incl ...

  7. django-session的使用---数据库,缓存型

    Django中默认支持Session,其内部提供了5种类型的Session供开发者使用: 数据库(默认) 缓存 文件 缓存+数据库 加密cookie 1.数据库Session Django默认支持Se ...

  8. Codeforces Round #590 (Div. 3) C. Pipes

    链接: https://codeforces.com/contest/1234/problem/C 题意: You are given a system of pipes. It consists o ...

  9. 获取节点 document.getElementBy{Id,Name,TagName,ClassName

    document.getElementById(" "); document.getElementByName(" "); document.getElemen ...

  10. 1、Mat类的属性、方法

    Mat类分有两个部分:矩阵头和指向矩阵数据部分的指针 Mat类的属性: rows  矩阵的行数 cols   矩阵的列数 dims  矩阵的维度,例如5*6矩阵是二维矩阵,则dims=2,三维矩阵di ...