📅  最后修改于: 2023-12-03 15:02:34.092000             🧑  作者: Mango
Python中的lambda表达式是一种匿名函数,可以在代码中被动态定义而无需命名函数。
语法格式:
lambda arguments: expression
其中 arguments
是函数的参数,expression
代表函数的返回值。
lambda表达式通常用于函数式编程中的高阶函数,如 map()
、filter()
和 reduce()
等。
lambda x:x[1]
表示一个lambda表达式,它的参数为x,返回值为x的第二个元素。
这个表达式可以用于排序一个列表中的元组或列表等序列类型,将其按照元素的第二个值排序,例如:
list1 = [(2, "b"), (1, "a"), (3, "c")]
sorted_list = sorted(list1, key=lambda x: x[1])
print(sorted_list)
# 输出 [(1, 'a'), (2, 'b'), (3, 'c')]
在这个例子中,对 list1
进行排序时,使用了 key
参数,该参数接收一个函数,该函数指定用于排序的关键字,即按元素的第二个值进行排序,最终得到按第二个值从小到大排序的列表。
当然,lambda x:x[1]
也可以用于其他需要求序列中某个元素的值的场景,例如:
list1 = [(2, "b"), (1, "a"), (3, "c")]
extracted_value = [lambda x:x[1](i) for i in list1]
print(extracted_value)
# 输出 ['b', 'a', 'c']
在这个例子中,使用了列表推导式和lambda表达式从 list1
中提取每个元素的第二个值,最终得到 ['b', 'a', 'c']的结果。