python map函数、filter函数、reduce函数
1.map函数:map(func,可迭代对象):
①func可以是自定义的函数,也可以是功能简单的匿名函数(通过lambda定义)
②处理逻辑:表示将传入的可迭代对象依次循环,将每个元素按照传入的func逻辑进行处理,再依次返回给原对象,结果与原列表的元素个数、顺序一致
③在python2中map的处理结果是一个列表,在python3中结果是一个迭代器,可通过list( )转换为列表查看内容,迭代器只可以进行一次处理操作,之后会清空
print(list(map(lambda x:x*2,[1,6,3,7])))---使用匿名函数
#执行结果为[1,36,9,49]
li=[-3,0,2,-8,5]
def cal(a):
if a>=0:
pass
else :
a=-a
return a
print('将负数转化为正数',list(map(cal,li))) #使用自定义函数,传给map函数是自定义函数的函数名
#将负数转化为正数 [3, 0, 2, 8, 5]
2.filter函数:filter(func,可迭代对象):
①func可以是自定义的函数,也可以是功能简单的匿名函数(通过lambda定义)
②处理逻辑:表示将传入的可迭代对象依次循环,将每个元素按照传入的func逻辑进行处理,处理结果返回一个布尔值,真则保留,否则删除这个元素
③与map函数类似,filter函数在python3中的结果是一个迭代器,需通过list( )转换为列表查看内容
print(list(filter(lambda x:len(x)>5,['abcde','','abcdefg',''])))
#执行结果为['1234567', 'abcdefg']
a=['abcde','','abcdefg','']
def f(x):
if len(x)<5:
return True
else :
return False print('保留长度小于5的元素',list(filter(f,a)))
#执行结果为:保留长度小于5的元素 ['123']
3.reduce函数:reduce(func,可迭代对象[,初始值]):
①reduce函数使用之前需要先通过functools模块导入from functools import reduce
②func可以是自定义的函数,也可以是功能简单的匿名函数(通过lambda定义)
③处理逻辑:表示将传入的可迭代对象依次循环,将所有元素按照传入的func逻辑进行处理,最后得到一个值
from functools import reduce
print('原列表为[1,3,6,8],所有元素相加所得结果为',reduce(lambda x,y:x+y,[1,3,6,8]))
#执行结果为:原列表为[1,3,6,8],所有元素相加所得结果为 18
from functools import reduce
array=['','abc','456def','g']
def f(x,y):
return x+y print('用haha拼接结果为',reduce(f,array,'haha')) #指定初始值
#执行结果为:用haha拼接结果为 haha123abc456defg---可看出字符串拼接时,指定的初始值放在最开头位置
python map函数、filter函数、reduce函数的更多相关文章
- Python的map、filter、reduce函数 [转]
1. map函数func作用于给定序列的每个元素,并用一个列表来提供返回值. map函数python实现代码: def map(func,seq): mapped_seq = [] fo ...
- python中的map、filter、reduce函数
三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function ...
- python学习-day15:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r
---恢复内容开始--- 一.全局变量与局部变量 在子程序中定义的变量称为局部变量, 在程序的一开始定义的变量称为全局变量. 全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序.当全局变量与 ...
- python_08 函数式编程、高阶函数、map、filter、reduce函数、内置函数
函数式编程 编程方法论: 1.面向过程 找到解决问题的入口,按照一个固定的流程去模拟解决问题的流程 (1).搜索目标,用户输入(配偶要求),按照要求到数据结构内检索合适的任务 (2)表白,表白成功进入 ...
- map、filter、reduce函数的使用
1.filter() 作用:过滤 // 1.筛选出大于30的数. const array = [10, 20, 30, 40, 50, 60, 70, 80] // 普通写法 // let newar ...
- python学习-day16:函数作用域、匿名函数、函数式编程、map、filter、reduce函数、内置函数r
一.作用域 作用域在定义函数时就已经固定住了,不会随着调用位置的改变而改变 二.匿名函数 lambda:正常和其他函数进行配合使用.正常无需把匿名函数赋值给一个变量. f=lambda x:x*x p ...
- Map、Filter和Reduce函数(Python)
Map map(function_to_apply, list_of_inputs) 设有以下代码: >>> items = [1, 2, 3, 4, 5] >>> ...
- map、filter、reduce函数
map #函数需要⼀个参数 m1 = map(lambda x:x*x,[1,2,3]) print(list(m1)) #函数需要两个参数 m2 = map(lambda x,y:x+y,[1,2, ...
- Python -- map, Lambda, filter and reduce
map(func, seq)对seq中的每一个元素,调用func并返回结果.典型的应用是使用lambda函数. >>> def square(x): return x**2 > ...
- python的map,filter,reduce学习
python2,python3中map,filter,reduce区别: 1,在python2 中,map,filter,reduce函数是直接输出结果. 2,在python3中做了些修改,输出前需要 ...
随机推荐
- 主线程用afxBeginThread()创建多个线程安全退出的办法
HANDLE hand[]; CCriticalSection m_crisecoin; CEvent m_event; struct Student { int nNO; int nYear; CW ...
- 【Xamarin.Forms 1】App的创建与运行
引言 本篇文章将从介绍Xamarin.Forms创建开始. 开发环境 Visual Studio 2019 16.6.2 Xamarin.Forms 4.6.0.726 Android 5.0 (AP ...
- VSCode 使用 Settings Sync 同步配置和插件
简要说明: Settings Sync插件可以在不同的计算机同步VSCode配置和插件. 安装和配置 在VSCode的插件栏搜索settings sync并安装.在安装完成之后如果需要重新载入就点击重 ...
- numpy模块&pandas模块
目录 numpy模块 pandas模块 numpy模块 import pandas as pd import numpy as np df=pd.Series(np.array(['a','b'])) ...
- docker 容器中 apt-get install 软件时,提示无法定位软件包
[解决] 执行 apt-get update 然后再进行安装,即可. (完)
- Ticket Game思维题
题目链接 题意: 给你一个n的序列(n=2*k),由数字和?(偶数个)组成,A和B分别操作(B先操作):把?变成一个任意的0-9的数字,如果最后前n/2和后n/2个数字之和相等,则A胜,否则B胜. 分 ...
- Django---进阶10
目录 forms组件源码 cookie与session Cookie操作 session操作 CBV如何添加装饰器 作业 forms组件源码 """ 切入点: form_ ...
- python写12306抢票
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' 利用splinter写的一个手动过验证及自动抢票的例子, 大家可以自己扩展或者弄错窗体.web端. ...
- java动态代理基本原理及proxy源码分析一
本系列文章主要是博主在学习spring aop的过程中了解到其使用了java动态代理,本着究根问底的态度,于是对java动态代理的本质原理做了一些研究,于是便有了这个系列的文章 为了尽快进入正题,这里 ...
- scala 数据结构(五):队列 Queue
1 队列 Queue-基本介绍 队列的说明 1)队列是一个有序列表,在底层可以用数组或是链表来实现. 2)其输入和输出要遵循先入先出的原则.即:先存入队列的数据,要先取出.后存入的要后取出 3)在Sc ...