详解python中的lambda与sorted函数

作者:Jaywhenxiang 时间:2022-04-29 00:01:56 

lambda表达式

python中形如:


lambda parameters: expression

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

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


def <lambda>(parameters):
return expression

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

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

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

例:


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中的项返回一个新的已排序列表。

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

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)]

来源:https://www.cnblogs.com/Jaywhen-xiang/p/13580455.html

标签:python,lambda,函数,sorted
0
投稿

猜你喜欢

  • 浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式

    2023-11-25 12:41:38
  • python+opencv边缘提取与各函数参数解析

    2023-12-24 11:17:54
  • spring boot整合mybatis使用c3p0数据源连接mysql

    2024-01-25 08:13:15
  • Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】

    2023-02-24 00:19:25
  • Python基于yaml文件配置logging日志过程解析

    2022-04-02 10:50:36
  • Python 爬虫模拟登陆知乎

    2023-11-28 14:32:08
  • 详谈python3 numpy-loadtxt的编码问题

    2021-08-28 06:42:09
  • 将Python脚本打包成MACOSAPP程序过程

    2022-03-07 14:20:43
  • SQL Server修改标识列方法 如自增列的批量化修改

    2024-01-19 04:59:22
  • python创建关联数组(字典)的方法

    2021-11-22 06:51:18
  • selenium鼠标操作实战案例详解

    2023-09-18 04:08:40
  • Python文件的应用之序列化与反序列化详解

    2021-06-19 22:20:45
  • TensorFlow 合并/连接数组的方法

    2021-08-19 16:28:35
  • 在MAC OS X上安装MYSQL

    2024-01-28 17:25:46
  • 教你轻松掌握如何保护MySQL中的重要数据

    2008-12-19 17:42:00
  • 简单了解python 邮件模块的使用方法

    2021-07-11 00:08:14
  • 关于pyinstaller 打包多个py文件的问题

    2022-01-19 17:49:10
  • vue中的数据绑定原理的实现

    2024-05-05 09:09:34
  • 修复 Mac brew 安装 mongodb 报 Error: No available formula with the name ‘mongodb’ 问题详解

    2024-01-18 17:10:50
  • pycharm下打开、执行并调试scrapy爬虫程序的方法

    2022-08-07 09:30:52
  • asp之家 网络编程 m.aspxhome.com