美文网首页
Python方法配合lambda使用

Python方法配合lambda使用

作者: Donald_32e5 | 来源:发表于2019-04-15 19:29 被阅读0次

一、lambda

二、方法的关键字参数

  • 在Python中函数(function)是可以被当做参数传递的
  • 很多内置的方法都用key作为这个关键词参数的键
    示例
list1 = [1, -32, 43, -3, 2, -3]
print(sorted(list1, key=lambda x: abs(x)))

# [1, 2, -3, -3, -32, 43]
  • 还有很多内置参数都可以使用key来接是一个函数参数:map、max、min······

三、注意事项

  • 在比较、排序的方法中,key配合lambda使用的时候,他的参数是可迭代对象的元素
a = {1: {'n1': 22}, 23: {'n2': 4}, 32: {"n3": 93}, 43: {'n4': 54}}


def s(x):
    print(x)
    return list(a[x].values())[0]


print(min(a, key=s))


# --------------
1
23
32
43
23

可以看出来,min给的参数是他遍历的结果,如果是多层嵌套结构,要对里面的元素进行排序,可以逐层取出
lambda写法

dict_a = {1: {'n1': 22}, 23: {'n2': 4}, 32: {"n3": 93}, 43: {'n4': 54}}

print(min(a, key=lambda x: list(a[x].values())[0]))

print(sorted(a, key=lambda x: list(a[x].values())[0]))


# ----------------
23
[23, 1, 43, 32]

*这里的列表是dict_a键,根据他第二层的value来排序的
如果要显示整个字典,使用列表推导式完成:

print([{i: a[i]} for i in sort_a])

# -------
[{23: {'n2': 4}}, {1: {'n1': 22}}, {43: {'n4': 54}}, {32: {'n3': 93}}]

相关文章

  • Python方法配合lambda使用

    一、lambda lambda的一些说明-->传送门 二、方法的关键字参数 在Python中函数(function...

  • JDK8新特性之方法引用

    什么是方法引用 方法引用是只需要使用方法的名字,而具体调用交给函数式接口,需要和Lambda表达式配合使用。 如:...

  • lambda

    lambda: python 使用 lambda 来创建匿名函数。 语法: lambda [arg1 [,arg2...

  • 新特性5-方法引用

    方法引用使得开发者可以直接引用现存的方法、Java类的构造方法或者实例对象。方法引用和Lambda表达式配合使用,...

  • Python之lambda表达式

    ---Python之lambda表达式(创建匿名函数) Python允许使用lambda关键字来创建匿名函数。 先...

  • lambda 和枚举配合使用

    枚举的几种使用方式

  • Python lambda函数

    lambda函数 在Python中,lambda函数是使用lambda表达式定义的单行匿名函数。它常用于将函数作为...

  • *args

    一、*args的使用方法 二、**kwargs的使用方法 三个特性 lambda函数有如下特性: lambda函数...

  • Python中的lambda函数

    Python中的lambda函数 在Python中,我们使用lambda关键字来声明一个匿名函数,这就是为什么我们...

  • 关于 Python中lambda 使用

    在学习python的过程中,lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是...

网友评论

      本文标题:Python方法配合lambda使用

      本文链接:https://www.haomeiwen.com/subject/mtagiqtx.html