在 Python 中,可以使用 lambda
关键字来创建匿名函数。这些函数不需要名字,因为它们通常只使用一次。
下面是一个例子:
lambda x: x**2
这是一个计算平方的匿名函数。它接受一个参数 x
,并返回 x
的平方。
你可以将这个函数赋值给一个变量,然后像调用普通函数一样调用它:
codesquare = lambda x: x**2
print(square(5)) # prints 25
匿名函数的一个常见用途是作为另一个函数的参数。例如,你可以使用 sorted
函数来按照某个特定的标准对列表进行排序,而不是按照默认的字典序。你可以使用匿名函数作为 key
参数来指定排序标准:
odeitems = [("product1", 10), ("product2", 9), ("product3", 11)]
items.sort(key=lambda x: x[1]) # sort by price
print(items) # prints [('product2', 9), ('product1', 10), ('product3', 11)]
匿名函数也可以和其他函数一起使用,例如 map
函数。下面是一个例子,使用 map
和匿名函数来对一个数字列表进行平方:
codenumbers = [1, 2, 3, 4]
squared = list(map(lambda x: x**2, numbers))
print(squared) # prints [1, 4, 9, 16]
总之,匿名函数是一种简单的方法来定义一个函数,通常只在当前上下文中使用一次。
map函数也是Python中常用的内置函数之一,下面我们从三个方面介绍:什么是map函数,什么时候用map函数,以及怎么用map函数。此处参考
- 什么是map函数?
map是python内置函数,会根据提供的函数对指定的序列做映射。map()函数的格式是:
map(function,iterable,...)
(1)参数
- function是一个函数名称,通过该函数对后续参数iterable进行处理
- iterable是一个可迭代对象,比如:字符串、列表、字典、元组、集合等
(2)返回值
map函数通过将指定的function函数依次作用在给定序列iterable中的每一个元素上,得到一个新的list并返回。注意,map不改变原list,而是返回一个新list。
- Python2.x 返回列表
- Python3.x 返回生成器
- 什么时候用map函数?
当需要对序列进行某些操作或者处理,将其转换为新的列表时,用map函数是最合适不过了。当然,除了最基本的用法,map函数还有一些特殊的使用技巧,比如:可以进行类型转换(将元组或字符串转换为列表,因为map的返回值是列表),可以提取字典中的key等。
- 如何使用map函数?
(1)基本用法:
>>> def interest(x):
(2)可以在function处使用匿名函数lambda:
>>> list(map(lambda x, y: (x ** y, x+y), [2, 4, 6], [3, 2,1]))
返回值:[(8, 5), (16, 6), (6, 7)]
(3)map函数还可以用来进行类型转换
- 将元组转换为列表
>>> list(map(int, (1, 2, 3)))
返回值:[1, 2, 3]
- 将字符串转换为列表
>>> list(map(int,'1234'))
返回值:[1, 2, 3, 4]
(4)可以提取字典中的key
>>> list(map(int,{'1':2,'2':3,'3':4}))
返回值:[1, 2, 3]
标签:map,函数,list,列表,匿名,27python,lambda
From: https://www.cnblogs.com/socoo-/p/16989017.html