lambda表达式

python中形如:

lambda parameters: expression

称为lambda表达式,用于创建匿名函数,该表达式会产生一个函数对象。

该对象的行为类似于用以下方式定义的函数:

def (parameters):

return expression

python中的lambda函数可以接受任意数量的参数,但只能有一个表达式。也就是说,lambda表达式适用于表示内部仅包含1行表达式的函数。那么lambda表达式的优势就很明显了:

使用lambda表达式可以省去单行函数的定义过程,使代码更加简洁;

适用于不需要多次复用的函数

例:

y = lambda x: x*x

print(y(3))

> 9

fx = lambda x, y, z: x+y+z

print(fx(3, 4, 5))

> 12

sorted()

python3.x中sorted函数:

sorted(iterable, *, key=None, reverse=False)

sorted函数会根据iterable中的项返回一个新的已排序列表。

其中key与reverse是两个可选参数,它们都必须指定为关键字参数;

key:指定带有单个参数的函数,用于从iterable的每个元素中提取用于比较的键,默认为None,即直接比较元素;

reverse:为一个布尔值,用来指定排序规则,默认为False(升序)。

python2的sorted函数中还有一个参数cmp,python3的sorted中已经没有这个参数了。

与list.sort()方法不同的是,sorted()是有返回值的,而list.sort()的返回值为None;并且list.sort()只能对list进行排序,而sorted()可以接收任何的iterable

例:

# list

foo = [5, 7, 2, 9, 1]

bzz = sorted(foo)

print(bzz)

# > [1, 2, 5, 7, 9]

print(sorted(foo))

# > [1, 2, 5, 7, 9]

print(sorted(foo, reverse = True))

# > [9, 7, 5, 2, 1]

print(sorted(foo, key = lambda x: x*-1))

# > [9, 7, 5, 2, 1]

# dict

bar = {"java": 14, "c": 16, "python": 9, "cpp": 6, "csharp": 4}

print(sorted(bar))

# > ["c", "cpp", "csharp", "java", "python"]

print(sorted(bar.items(), key = lambda kv: kv[1], reverse = True))

# > [("c", 16), ("java", 14), ("python", 9), ("cpp", 6), ("csharp", 4)]

以上就是详解python中的lambda与sorted函数的详细内容,更多关于python lambda与sorted函数的资料请关注云海天教程其它相关文章!

原文链接:https://www.cnblogs.com/Jaywhen-xiang/p/13580455.html

python sorted lambda_详解python中的lambda与sorted函数相关推荐

  1. Python 装饰器详解(中)

    Python 装饰器详解(中) 转自:https://blog.csdn.net/qq_27825451/article/details/84581272,博主仅对其中 demo 实现中不适合pyth ...

  2. mysql的json函数与实例_Mysql实例详解Mysql中的JSON系列操作函数

    <Mysql实例详解Mysql中的JSON系列操作函数>要点: 本文介绍了Mysql实例详解Mysql中的JSON系列操作函数,希望对您有用.如果有疑问,可以联系我们. MYSQL必读前言 ...

  3. python操作符op_详解python中的 is 操作符

    大家可以与Java中的 == 操作符相互印证一下,加深一下对引用和对象的理解.原问题: Python为什么直接运行和在命令行运行同样语句但结果却不同,他们的缓存机制不同吗? 其实,高票答案已经说得很详 ...

  4. python scatter参数详解_Python 中 scatter 函数参数及用法详解

    Python 中 scatter 函数参数及用法详解 Python 中 scatter 函数参数及用法详解 这里有新鲜出炉的 Python 教程, 程序狗速度看过来! Python 编程语言 Pyth ...

  5. python import io_详解Python IO编程

    文件读写 读文件 try: # windows下utf8 f = open('./README.md', 'r', encoding='utf8', errors='ignore') print(f. ...

  6. python流程控制-详解Python流程控制语句

    流程控制 流程:代码执行的过程 控制:对代码执行过程的把控 三大结构 顺序结构:代码默认从上到下,依次执行 分支结构:单项分支,双向分支,多项分支,巢状分支 循环结构:while循环和for循环 单项 ...

  7. python 标准输出_详解Python的标准输入输出

    本篇文章给大家分享的是详解Python的标准输入输出,内容挺不错的,希望可以帮助到有需要的朋友 一.标准输入输出 1.打印到屏幕 产生输出的最简单方法是使用print语句,可以通过用逗号分隔零个或多个 ...

  8. python循环语句-详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  9. python数组排序sort_详解python中sort排序使用

    1.前言 昨天一学妹问我一个关于python的问题,当时在外忙碌,没时间细看.今天看一下,咋一看我还真的不知道这个问题,bookinfo.sort(reverse=True ,key=lambda x ...

  10. python scatter参数详解_Python中scatter函数参数及用法详解

    最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1.scatter函数原型 2.其中散点的形状参数marker如下: 3.其中颜色参数c如 ...

最新文章

  1. c语言常用数据类型转换整理
  2. Linux系统编程——进程基础知识
  3. LDAP操作过程中出现的错误代码
  4. html ajax提交表单实例,Ajax提交表单并接收json实例代码
  5. ST17H26 tea加密java版本
  6. vivo升级android10系统,官方确认vivo NEX旗舰版会直接升级到Android10
  7. Anaconda创建环境、删除环境、激活环境、退出环境
  8. netty单片机通讯_SSM+Netty实现软硬件通信,真实项目案例
  9. 交换机工作原理_交换机的作用是什么?
  10. 十字链表计算矩阵乘积 c语言,求用十字链表实现矩阵相加算法(C语言)急!!!...
  11. 西安石油大学计算机基础考试试题,2017年西安石油大学计算机学院824计算机组成原理考研题库...
  12. Ant编译SWF、SWC例子脚本
  13. 未来计算机技术的发展趋势有哪些,计算机技术的未来发展趋势,以及其应用范围...
  14. .net开源CMS系统使用教程之:如何用We7 CMS建设全新网站
  15. UG NX 10 坐标系
  16. 计算机国内期刊sci,国内计算机类期刊 SCI收录:
  17. 函数论_E.C.Tichmarsh_Page 4 级数一致收敛的魏尔斯特拉斯 M-判别法 的推广
  18. 隐藏的区别:display:none 和visibility:hidden
  19. STM32传感器外设集--温湿度模块(DHT11)
  20. 匿名内部类以及Lambda表达式(Java和C#)

热门文章

  1. 资产类别某一类折旧查询
  2. 小程序超过2M限制的方法——分包加载
  3. icon图标在线生成教程(svg转icon)
  4. 【经验分享】MAC系统自带截屏、录屏小工具
  5. 富士施乐3065扫描教程_富士施乐打印机3065怎么连接电脑扫描
  6. 什么是ICMP协议,它的作用是什么?
  7. 实用:AE/PR 视频交换格式哪家强?
  8. ape是什么格式?ape怎么转mp3?
  9. 测试用例的设计要素以及设计测试用例的方法
  10. setlocale()函数的作用