首页 > 其他分享 >lambda表达式

lambda表达式

时间:2023-07-23 15:55:23浏览次数:41  
标签:排序 c3 c2 c1 lambda 表达式 c4

#官方给出的格式要求如下,其实不需要有两个或两个以上的参数,一个a也是可以的
lambda a, b: a+b
#官方给出的例子
>>> def make_incrementor(n):
...     return lambda x: x + n
...
>>> f = make_incrementor(42)
>>> f(0)
42
>>> f(1)
43

  可以理解为构造了一个简单的函数,比如f = lambda a,b : a+b,就不用写def f(a,b)...这样麻烦的写法

官方给出了一个比较好的应用例子:

pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
pairs.sort(key=lambda pair: pair[1])
pairs
#返回的结果是按字符串的排序给出整个列表的排序

  这个还是特别好用的,如果是经常写SQL的人,应该很容易明白,这就相当于指定一列的排序,相当好用,为此我还尝试了一下列表中全是字典是否可以排序,是可以的

a = [{"c1":'a',"c2":'g',"c3":1,"c4":8},{"c1":'c',"c2":'d',"c3":2,"c4":5},{"c1":'e',"c2":'b',"c3":3,"c4":1}]

sorted(a,key=lambda a:a['c4'])
#[{'c1': 'e', 'c2': 'b', 'c3': 3, 'c4': 1},
#{'c1': 'c', 'c2': 'd', 'c3': 2, 'c4': 5},
#{'c1': 'a', 'c2': 'g', 'c3': 1, 'c4': 8}]
sorted(a,key=lambda a:a['c3'])
#[{'c1': 'a', 'c2': 'g', 'c3': 1, 'c4': 8},
#{'c1': 'c', 'c2': 'd', 'c3': 2, 'c4': 5},
#{'c1': 'e', 'c2': 'b', 'c3': 3, 'c4': 1}]

  这就相当好用了,大家可以尝试一下~

参考:4. 更多控制流工具 — Python 3.11.4 文档

标签:排序,c3,c2,c1,lambda,表达式,c4
From: https://www.cnblogs.com/soccerchen/p/17575105.html

相关文章

  • 正则表达式之子表达式与分组替换
    参考地址一、正则表达式元字符字符描述\将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,’n’匹配字符“n”。’\n’匹配一个换行符。序列'\\'匹配“\”而"\("则匹配“(“。^匹配输入字符串的开始位置。如......
  • java正则表达式判断是否字母开头
    Java正则表达式判断是否字母开头介绍正则表达式是一种用来描述和匹配字符串模式的工具。在Java中,我们可以使用正则表达式来进行字符串的匹配和搜索操作。本文将教会你如何使用Java正则表达式来判断一个字符串是否以字母开头。流程下面是实现“Java正则表达式判断是否字母开头”......
  • java正则表达式不包含
    如何在Java中使用正则表达式进行不包含匹配引言正则表达式是一种强大的文本匹配工具,它可以帮助我们在字符串中查找、替换或验证特定的模式。在Java中,我们可以使用java.util.regex包中的类来操作正则表达式。本文将教会你如何在Java中使用正则表达式进行不包含匹配。流程图以下......
  • java正则表达式包含数字字母
    实现"Java正则表达式包含数字字母"1.概览在本文中,我将教你如何使用Java正则表达式来判断一个字符串是否包含数字和字母。我们将按照以下步骤进行操作:创建一个正则表达式模式,用于匹配包含数字和字母的字符串。创建一个Pattern对象,用于编译正则表达式。创建一个Matcher对象,用......
  • java正则表达式 不以数字开头输出
    Java正则表达式:不以数字开头输出介绍正则表达式是一种强大的模式匹配工具,可以用来在文本中查找、替换、拆分等操作。在Java中,可以使用java.util.regex包中的类来操作正则表达式。本文将介绍如何使用正则表达式来判断一个字符串是否不以数字开头,并提供代码示例。正则表达式语法......
  • python3正则表达式分组替换
    Python3正则表达式分组替换在Python中,使用正则表达式进行字符串处理是一项非常强大和灵活的技术。正则表达式可以用来匹配、查找和替换字符串中的模式。其中,分组替换是一种常用的技术,它允许我们将正则表达式的匹配结果以分组的形式进行替换。本文将介绍如何在Python3中使用正则表......
  • 【JDK新特性】一篇搞懂Lambda表达式 & 函数式接口
    概述Lambda是JDK8的语法糖。它可以对某些匿名内部类的写法进行简化,它是函数式编程的一个重要体现。让我们不用关注什么是对象,重点关注我们对数据做了什么操作,可以说它Lambda表达式就是一个对象Lambda表达式在C++、C#、Python、Scala等一些语言中也支持,Java支持的还算比较晚的(确实好......
  • SAS - 正则表达式
    SAS-正则表达式正则表达式(RegularExpression)是一种文本模式,可用于文本的匹配、查找和替换。BaseSAS内置了正则表达式的实现,并提供了一系列PRX函数及CALL子程序,便于对文本进行更为灵活的处理。正则表达式的结构正则表达式由普通字符和元字符组成。元字符用于匹配符合特......
  • Python爬虫入门七之正则表达式
    在前面我们已经搞定了怎样获取页面的内容,不过还差一步,这么多杂乱的代码夹杂文字我们怎样把它提取出来整理呢?下面就开始介绍一个十分强大的工具,正则表达式!1.了解正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规......
  • java lambda对比两个list
    JavaLambda表达式对比两个List在Java8中,引入了Lambda表达式,这是一种函数式编程的特性。Lambda表达式使得我们能够以更简洁、更灵活的方式处理集合中的数据。在本文中,我们将探讨如何使用Lambda表达式对比两个List,并通过代码示例来说明。什么是Lambda表达式Lambda表达式是一种匿......