Python匿名函数

在Python中,匿名函数是通过lambda关键字来定义的。lambda函数本质上是一个小的匿名函数,它可以接受任何数量的参数,但只能有一个表达式。这个表达式的计算结果就是lambda函数的返回值。由于lambda函数是匿名的,所以它不能通过常规的方式(如使用def关键字)来命名。

lambda函数经常与Python中的高阶函数(接受函数作为参数或返回函数的函数)一起使用,比如filter()map()sorted()等内置函数。

 1. lambda函数

举一个简单的lambda函数示例,该函数接受两个参数并返回它们的和:

# lambda 参数列表: 表达式

summ = lambda x, y: x + y
print(summ(5, 3))  # 输出: 8

2.map()函数

map() 函数是 Python 中的一个内置高阶函数,map()函数会对指定序列做映射。它接收两个参数:一个函数和一个可迭代对象(如列表、元组、集合等)。map() 函数会遍历可迭代对象的每个元素,将函数应用于每个元素,并返回一个迭代器,该迭代器包含函数应用于每个元素后的结果。

1.创建map()函数。

# map(function, iterable, ...)
# function:一个函数,map() 会将这个函数应用于可迭代对象的每个元素。
# iterable,...一个或多个可迭代对象.
squares = map(lambda x: x ** 2, range(6))
print(list(squares))  # 输出: [0, 1, 4, 9, 16, 25]

3.sorted() 

sorted() 函数是 Python 的一个内置函数,用于对可迭代对象(如列表、元组、字符串等)进行排序,并返回一个新的列表,这个新列表是原列表的排序后的版本,但原列表不会被改变。

基本用法:

sorted() 函数可以接受多个参数,但最常用的参数是可迭代对象(比如列表)和一个可选的 key 函数,用于从每个元素中提取一个用于比较的关键字

# 对列表进行排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # 输出: [1, 1, 2, 3, 4, 5, 6, 9]

# 使用 key 参数  
words = ["banana", "Apple", "cherry", "Date"]
sorted_words = sorted(words, key=str.lower)
print(sorted_words)  # 输出: ['Apple', 'banana', 'cherry', 'Date']

# 逆序排序
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)  # 输出: [9, 6, 5, 4, 3, 2, 1, 1]

注意:sorted() 函数返回一个新的列表,原列表不会被修改。

    reverse():布尔值。如果为 True,则列表元素以降序排列,否则以升序排列。默认   为 False

lambda函数因其简洁性而在需要简单函数对象时非常有用,但它们并不适用于所有情况。对于更复杂的逻辑,使用def定义的命名函数通常更清晰、更易于维护。

一起努力学习吧!少年郎,加油!

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值