java使用python,python语法和java
参考:廖雪峰python官方网站。
先介绍一个函数图()
Map()将根据提供的函数映射指定的序列。
第一个参数函数用参数序列中的每个元素调用函数function,并返回一个包含每个函数返回值的新列表。
语法:map(函数,iterable,)
参数
功能-功能
Iterable -一个或多个序列
(参考菜鸟教程)
Def square(x): #计算平方数
.返回x * * 2.map (square,[1,2,3,4,5]) #计算列表中每个元素的平方
[1,4,9,16,25] map (lambda x: x * * 2,[1,2,3,4,5]) #使用lambda匿名函数
[1,4,9,16,25]#提供两个列表以在相同位置添加列表数据。
map(x,y: x y,[1,3,5,7,9],[2,4,6,8,10])
[3, 7, 11, 15, 19]
引入lambda匿名函数
我们在传入函数的时候,有时候,不需要显式定义函数,直接传入匿名函数更方便。在Python中,对匿名函数的支持是有限的。还是以map()函数为例。当计算f(x)=x2时,除了定义f(x)的函数外,
也可以直接传入匿名函数:
列表(map(lambda x: x * x,[1,2,3,4,5,6,7,8,9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
通过对比,我们可以看到匿名函数lambda x: x * x实际上是:
deff(x):返回x * x
关键字lambda表示匿名函数,冒号前面的X表示函数参数。
匿名函数有一个限制,就是只能有一个表达式,不需要写return。返回值是该表达式的结果。
使用匿名函数有一个好处,因为函数没有名字,所以不用担心函数名冲突。另外,匿名函数也是一个函数对象。您也可以将匿名函数赋给变量,然后使用该变量调用该函数:
f=x:x * xf在0x101c6ef28处
女(5)25
同样,匿名函数也可以作为返回值返回,例如:
defbuild(x,y):返回lambda: x * x y * y
匿名函数的一个练习示例:
(将此函数改为lambda表达式)
defis_odd(n):返回n % 2==1L=列表(filter(is_odd,range(1,20)))
变化的
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。