7个Python有趣的lambda应用
1. 排序sort()
2. 寻找最大值max()
3. 查找最小值min()
4. filter() 用于根据函数从值集合中过滤值。它返回一个过滤器对象,需要在打印值之前将其转换为所需的数据类型。
5. map() 类用于将函数应用于值集合中的每个元素。 示例包括将大写字符串转换为小写,以及将字符串值转换为整数。还有其他有用的应用程序。它返回一个映射对象,然后可以将其转换为任何所需的集合数据类型。
6. reduce() 函数是 functools 模块的一部分,用于从值集合中生成最终的单个值。
7. Sorted() 内置函数与 sort() 方法类似,它对于所有集合类型都是通用的,而不仅仅是列表。用于对值集合进行排序,也可以指定reverse反转排序
源码
li = [23, 56, 89, 32, 12]
li.sort(key=lambda x: str(x)[1])
print(li)
li.sort(key=lambda x: str(x))
print(li)
li = [1, 0, -1, 2, -3]
print(max(li, key=lambda x: abs(x)))
li = [1, 2, 3, 4, 5]
print(min(li, key=lambda x: -x))
li = ['bat', 'tip', 'cat', 'pet']
fr = filter(lambda x: x[1] == 'a', li)
print(list(fr))
li = [4, 8, 3, 2, 9]
mp = map(lambda x: x ** 3, li)
print(list(mp))
from functools import reduce
li = [5, 7, 3, 4, 6]
re = reduce(lambda x, y: x * y, li)
print(re)
li = [59, 38, 81, 66, 43]
so = sorted(li, key=lambda x: str(x)[::-1])
print(so)
sos = sorted(li, key=lambda x: str(x), reverse=True)
print(sos)