python3 map函数和filter函数详解

yipeiwu_com6年前Python基础

map()函数可以对一个数据进行同等迭代操作。例如:

def f(x):
   return x * x
r = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
print(list(r))

map函数传入的第一个参数就是函数本身,即f。第二个参数是要操作的数据

map() 作为高阶函数,事实上它把运算规则抽象了,因此,我们不但可以计算简单的 f(x)=x 2 ,还可以计算任意复杂的函数,比如,把这个list 所有数字转为字符串:

print(list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])))

filter() 的作用是从一个序列中筛出符合条件的元素。

语法:

filter函数的语法是filter(函数名,序列)

list1=[20,12,13,5,8,19]
 def fa(n):#过滤出大于10的数字,并生成一个新的列表  list2=[]  if n>10:    list2.append(n)  return list2
print(list(filter(lambda n:n>10,list1)))#使用filter配合lambda函数实现输出结果:[20,12,13,19]

map函数和filter函数都可以结合lambda函数使用,可以实现对一个序列中的每一个元素做同样的事情

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python两个_多个字典合并相加的实例代码

这只是符合比较正常的需求和场景。 #一、适用合并两个字典(key不能相同否则会被覆盖),简单,好用。 A = {'a': 11, 'b': 22} B = {'c': 48, 'd...

Python+numpy实现矩阵的行列扩展方式

Python+numpy实现矩阵的行列扩展方式

对于numpy矩阵,行列扩展有三种比较常用的方法: 1、使用矩阵对象的c_方法扩展列,使用矩阵对象的r_方法扩展行。 2、使用numpy扩展库提供的insert()函数,使用axis参数...

python3+PyQt5实现支持多线程的页面索引器应用程序

python3+PyQt5实现支持多线程的页面索引器应用程序

本文通过Python3+pyqt5实现了python Qt GUI 快速编程的19章的页面索引器应用程序例子。 /home/yrd/eric_workspace/chap19/walke...

Django 创建新App及其常用命令的实现方法

创建新的项目 django-admin.py startproject my_project 创建新的App # 在Django项目(my_project)的根目录下执行 py...

深入理解python中的atexit模块

atexit 模块介绍 python atexit 模块定义了一个 register 函数,用于在 python 解释器中注册一个退出函数,这个函数在解释器正常终止时自动执行,一般用来...