如何使用Python中map、filter和reduce-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

10年的沈河网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整沈河建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“沈河网站设计”,“沈河网站推广”以来,每个客户项目都认真落实执行。

如何使用Python中map、filter和reduce?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

1、map函数

map函数的规范是,将⼀个函数映射到⼀个输⼊列表的所有元素上。

map(function_to_apply, list_of_inputs)

⼤多数时候,我们要把列表中所有元素⼀个个地传递给⼀个函数,并收集输出。比如:

items = [1, 2, 3, 4, 5]

squared = []

for i in items:

     squared.append(i**2)

而Map函数可以让我们⽤⼀种简单⽽漂亮得多的⽅式来实现,如下:

items = [1, 2, 3, 4, 5]

squared = list(map(lambda x: x**2, items))

⼤多数时候,我们使⽤匿名函数lambdas来配合map函数,不仅⽤于⼀列表的输⼊, 我们甚⾄可以⽤于⼀列表的函数!

def multiply(x):

             return (x*x)

def add(x):

              return (x+x)

funcs = [multiply, add]

for i in range(5):

     value = map(lambda x: x(i), funcs)

     print(list(value))

# Output:

# [0, 0]

# [1, 2]

# [4, 4]

# [9, 6]

# [16, 8]

 

2、Filter函数

 

Filter函数很好理解,就是filter过滤列表中的元素,并且返回⼀个由所有符合要求的元素所构成的列表,符合要求即函数映射到该元素时返回值为True。下面具一个简单的例子来帮助大家理解:

number_list = range(-5, 5)

less_than_zero = filter(lambda x: x < 0, number_list)

print(list(less_than_zero))

# Output: [-5, -4, -3, -2, -1]

这个filter类似于⼀个for循环,但它是⼀个内置函数,并且更快。

3、Reduce函数

当需要对⼀个列表进⾏⼀些计算并返回结果时,Reduce 是个⾮常有⽤的函数。举个例⼦,当你需要计算⼀个整数列表的乘积时。通常在 Python 中你可能会使⽤基本的 for 循环来完成这个任务。现在我们来试试 reduce:

from functools import reduce

product = reduce( (lambda x, y: x * y), [1, 2, 3, 4] )

# Output: 24

 

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联-成都网站建设公司行业资讯频道,感谢您对创新互联的支持。


标题名称:如何使用Python中map、filter和reduce-创新互联
当前路径:http://pwwzsj.com/article/dsjpig.html