map函数 :处理序列中的每个元素,得到的结果是一个列表,该列表元素个数及位置与原来一样

## 求列表里元素的平方  (原始方法)
num_1=[1,2,13,5,8,9]
res =[]
for i in num_1:
res.append(i**2)
print('打印结果:',res) 打印结果: [1, 4, 169, 25, 64, 81] 有多个列表求里面元素的平方 (定义成函数)
num_1=[1,2,13,5,8,9]
def test(array):
res =[]
for i in num_1:
res.append(i**2)
return res
end1 = test(num_1)
end2 = test(num_1) # 以后用直接调用函数就可以了
print('打印结果:',end1)
print('打印结果:',end2) 打印结果: [1, 4, 169, 25, 64, 81]
打印结果: [1, 4, 169, 25, 64, 81] 提的需求就是功能,功能就要封装在函数里
num_1=[1,2,13,5,8,9]
def reduce_1(x): # 定义自减1函数
return x-1
def add_1(x): # 定义自增1函数
return x+1
def test(func,array):
res =[]
for i in num_1:
ret=func(i)
res.append(ret)
return res
print('自增1的结果:',test(add_1,num_1))
print('自减1的结果:',test(reduce_1,num_1)) 自增1的结果: [2, 3, 14, 6, 9, 10]
自减1的结果: [0, 1, 12, 4, 7, 8] # 终极版本 最简单的.使用匿名函数同样可以做到
num_1=[1,2,13,5,8,9]
def test(func,array):
res =[]
for i in num_1:
ret=func(i)
res.append(ret)
return res
print('自增1的结果:',test(lambda x:x+1,num_1))
print('自减1的结果:',test(lambda x:x-1,num_1))
print('平方的结果:',test(lambda x:x**2,num_1))
print('除2的结果:',test(lambda x:x/2,num_1)) 自增1的结果: [2, 3, 14, 6, 9, 10]
自减1的结果: [0, 1, 12, 4, 7, 8]
平方的结果: [1, 4, 169, 25, 64, 81]
除2的结果: [0.5, 1.0, 6.5, 2.5, 4.0, 4.5] 内置函数map函数
num_1=[1,2,13,5,8,9]
def test(func,array):
res =[]
for i in num_1:
ret=func(i)
res.append(ret)
return res
print('匿名函数的处理结果:',test(lambda x:x+1,num_1)) ret = map(lambda x:x+1,num_1)
print('内置函数map的处理结果:',list(ret)) 匿名函数的处理结果: [2, 3, 14, 6, 9, 10]
内置函数map的处理结果: [2, 3, 14, 6, 9, 10]

map函数 还适用与自己设定的函数

num_1=[1,2,13,5,8,9]
def reduce_1(x): # 定义自减1函数
return x-1
def add_1(x): # 定义自增1函数
return x+1
def test(func,array):
res =[]
for i in num_1:
ret=func(i)
res.append(ret)
return res
ret = map(reduce_1,num_1)
ret1 = map(add_1,num_1)
print('map处理自减1的结果:',list(ret))
print('map处理自加1的结果:',list(ret1)) map处理自减1的结果: [0, 1, 12, 4, 7, 8]
map处理自加1的结果: [2, 3, 14, 6, 9, 10]

map还以可以迭代其他对象,

msg ='majunnihao' #(例如小写转换成大写)
t = map(lambda x:x.upper(),msg)
print(list(t)) ['M', 'A', 'J', 'U', 'N', 'N', 'I', 'H', 'A', 'O']

py-day3-6 python map函数的更多相关文章

  1. python map函数(23)

    截至到目前为止,其实我们已经接触了不少的python内置函数,而map函数也是其中之一,map函数是根据指定函数对指定序列做映射,在开发中使用map函数也是有效提高程序运行效率的办法之一. 一.语法定 ...

  2. python map函数

    map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于li ...

  3. python map函数 reduce函数

    Python中map()函数浅析 函数式编程: 更好的描述问题 map函数 怎么理解当传入多个参数list时,map如何运作:    abc函数第一次传入的数据时 (11,44,77),然后(22,5 ...

  4. python——map()函数

    描述 map() 会根据提供的函数对指定序列做映射. 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表. 语法 m ...

  5. python map函数的使用

    python2 中的map函数返回列表 python3 中的map函数返回迭代器 >>>def square(x) : # 计算平方数 ... return x ** 2 ... & ...

  6. python map函数、filter函数、reduce函数

    1.map函数:map(func,可迭代对象): ①func可以是自定义的函数,也可以是功能简单的匿名函数(通过lambda定义) ②处理逻辑:表示将传入的可迭代对象依次循环,将每个元素按照传入的fu ...

  7. day16 Python map函数

    num_l=[1,2,10,5,3,7] #lambda x:x+1 # def add_one(x): # return x+1 #lambda x:x+1 # def reduce_one(x): ...

  8. Python map,filter,reduce函数

    # -*- coding:utf-8 -*- #定义一个自己的map函数list_list = [1,2,4,8,16] def my_map(func,iterable): my_list = [] ...

  9. python filter函数(40)

    一.filter函数简介 filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tupl ...

随机推荐

  1. vue实现pc端上拉加载功能,不兼容移动端

    所用插件:Mock.js 这个只用到它简单的功能,拦截ajax请求. vue和axios,vue基础知识请看文档. axios类似于jquery的ajax方法. 以下是是该功能所有代码,其中mock的 ...

  2. SpringMVC详细学习笔记

    Spring MVC   1 spring MVC简介:   Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面.Spring 框架提供了构 ...

  3. Sql Server 2012 集群配置

    基于Windows Server 2008 R2的WSFC实现SQL Server 2012高可用性组(AlwaysOn Group) 2012年5月 微软新一代数据库产品SQL Server 201 ...

  4. Annotation(注解)介绍

    Annotation(注解)是什么: Annotation(注解) 官方的定义:    An annotation is a form of metadata, that can be added t ...

  5. 使用Babel将单独的js文件 中的 ES6转码为ES5

      如果你并没有接触过ES6,当你看到下面的代码时,肯定是有点懵逼的(这是什么鬼?心中一万头神兽奔腾而过),但是你没看错,这就是ES6.不管你看不看它,它都在这里. 1 2 3 4 5 6 7 8 9 ...

  6. 精进之路之volatile

    volatile 首先了解下Java 内存模型中的可见性.原子性和有序性. 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉.通常,我们无法确保执行读操作的线程能适时地看到其他 ...

  7. C16记技术服务支持

    1.首页笔记:可以通过点击加号添加笔记的分类,还可以查看最近的10条笔记 2.图形:可以通过查看笔记的比例来分析自己最近的状况 3.快速添加笔记:点击添加笔记能够直接进行笔记 4.时间轴:能够通过文字 ...

  8. 转:vim模式下报错E37: No write since last change (add ! to override)

    故障现象: 使用vim修改文件报错,系统提示如下: E37: No write since last change (add ! to override) 故障原因: 文件为只读文件,无法修改. 解决 ...

  9. SQL设置时间格式

    SELECT STR_TO_DATE('Jul 20 2013 7:49:14:610AM','%b %d %Y %h:%i:%s:%f%p') from DUAL; -- 执行后得到结果:'2013 ...

  10. 网上流行护眼色的RGB值