逻辑运算map函数filter函数reduce函数
Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
1 print(1>1 or 3<4 or 4>5 and 2>1 and 9>8 or 7<6) #or 一个为Ture 结果Ture 2 print(not 2 >1 and 3<4 or 4>5 and 2>1 and 9>8 or 7<6) # f 3 print(1>2 and 3<4 or 4>5 and 2>1 or 9<8 and 4>6 or 3<2 ) #f 4 5 print(8 or 3 and 4 or 2 and 0 or 9 and 7) #8 6 print(0 or 2 and 3 and 4 or 6 and 0 or 3) #4 7 print( 4 or 3) #4 #or x y x or y x 值为Ture不为0的话, 结果为x 8 print(5 and 9 or 10 and 2 or 3 and 5 or 4 or 5) #9 9 print(6 or 2>1) #6 10 print(0 or 5< 4) #f 11 print(5<4 or 3) #3 12 print(2>1 or 6) #t 13 print(3 and 2>1) #t 14 print(2>1 and 0) #0 15 print(2>1 and 3) #3 16 print(3>1 and 2 or 2 <3 and 4 or 3>2) #2
lambda函数: #匿名函数 处理多个值时,需要自己做元祖处理,也就是自己加括号
1 func = lambda x:x+1 2 func(10) 3 print(func(10)) #输出11
1 name = ["alex","tom"] 2 for i in name: 3 fun=lambda x:x+"_sb" 4 print(fun(i)) #输出alex_sb tom_sb
1 f =lambda x,y,z:(x+1,y+1) #处理多个值时,要手动变成元祖格式 2 print(f(1,2,3))
函数式编程:
高阶函数:1、函数接收的参数是一个函数名 2、返回值中包含函数
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
map() 函数语法:
map(function, iterable, ...)
1 # map函数 2 nul = [1,2,3,4,5,6,7] 3 def map_test(func,array): #func =lambda x:x+1 #array=[1,2,3,4,5,6,7] 4 ret=[] 5 for i in array: 6 res=func(i) #调取函数 7 ret.append(res) 8 return ret 9 print(map_test(lambda x:x+1,nul))
1 ##############map使用################ 2 nl = [1,2,3,4,5,6] 3 print(list(map(lambda x:x+1,nl))) 4 ll = "alex" 5 print(list(map(lambda x:x.upper(),ll)))
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
filter() 方法的语法:
filter(function, iterable)
1 ln = ["alex_sb","tom","Jim"] 2 print(list(filter(lambda x:x.endswith("sb"),ln))) 3 print(list(filter(lambda x:not x.endswith("sb"),ln))) #取结尾不含sb的人
1 #######过滤######### 2 people = 【 3 {“name”:"alex1","age":100} , 4 {“name”:"alex2","age":1000} , 5 {“name”:"alex3","age":10000} , 6 {“name”:"alex4","age":18} , 7 ] 8 9 print(list(filter(lambda p:p["age"]<=18,people)))
reduce() 函数会对参数序列中元素进行累积。
函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
reduce() 函数语法:
reduce(function, iterable[, initializer])
1 # reduce函数 2 from functools import reduce #导入reduce函数模块 3 ln = [1,2,3,100] 4 print(reduce(lambda x,y:x*y,ln,100)) #100是指点一个基数(初始值)然后相乘
小结:
处理序列中的每个元素,得到的结果是一个“列表”,该“列表”元素个数及位置与原来一样
map()
便利序列中的每个元素,判断每个元素得到的布尔值,如果是True则留下来
filter() 过滤
处理一个序列,然后把序列进行合并操作
reduce()
内置函数:
http://www.runoob.com/python/python-built-in-functions.html
abs()取绝对值
all() 布尔值判断,如果一个为false。则false
any()如果有一个为ture则为ture
bin()十进制转为二进制 0b二进制
hex()十进制转成十六进制
oct()十进制转成八进制
bool()计算布尔值,假的:none ,“ ”,0 为falase
bytes()把字符串转换成字节encoding = “utf-8”编码 decode解码,用什么编码就用什么解码
dict()字典
dir()打印某一个对象下面都有那些方法
divmod()取商得余数,做分页使用
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
eval() 1、把字符串中的数据结构提取出来 2、把字符串中的表达式进行运算
hash() 可hash的数据类型即不可变数据类型,不可hash的数据类型即可变数据类型
globals()打印当前的全局变量
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
max()方法返回给定参数的最大值,参数可以为序列。
1 l = ["a","b","c","11"] 2 print(list(max(l))) 3 4 age_dic = {"alex_age":18,"tom_age":20,"zhangsan_age":22} 5 for i in zip(age_dic.values(),age_dic.keys()): 6 print(i) #查看zip函数列出的元祖 7 print(list(max(zip(age_dic.values(),age_dic.keys()))))
注意:
1、max函数处理的是可迭代对象,相当于一个for循环取出每个元素进行比较,注意,不同类型之间不能进行比较
2、每个元素间进行比较,是从每个元素的第一位依次比较,如果这一个位置分出大小,后面的都不需要比较了,直接得出这俩元素的大小
1 people = [ 2 {"name":"alex","age":20}, 3 {"name":"tom","age":28}, 4 {"name":"zhangsan","age":30}, 5 {"name":"lisi","age":40} 6 ] 7 print(max(people,key=lambda dic:dic["age"])) 8 9 #max(people,key=lambda dic:dic["age"]) 这一行分解理解为以下for循环 10 ret =[] 11 for i in people: 12 ret.append(i["age"]) 13 print(ret) 14 max(ret)
min()方法返回给定参数的最小值,参数可以为序列。与max相反
pow()方法返回 xy(x的y次方) 的值,如果是三个参数xyz,方法是xy%z(x的y次方除以z取余)
reversed()反转
chr()查询数字是ASCII表中代表什么字符
ord()查询字符是ASCII表中代表的什么数字
round()四舍五入
set()将列表变成集合形式
slice()切片和l【3:5】和步长
sorted()排序
1 people = [ 2 {"name":"alex","age":20}, 3 {"name":"tom","age":28}, 4 {"name":"zhangsan","age":30}, 5 {"name":"lisi","age":40} 6 ] 7 print(sorted(people,key=lambda dic:dic["age"]))
vars() 相当于locals()打印函数
转载于:https://www.cnblogs.com/Tang-Yuan/p/9468286.html
逻辑运算map函数filter函数reduce函数相关推荐
- Python的map、filter、reduce函数
Python的map.filter.reduce函数 map函数func作用于给定序列的每个元素,并用一个列表来提供返回值. map函数python实现代码: def map(func,seq): ...
- python中的map、filter、reduce函数
三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function,s ...
- pythonsparkfilter_python中的map、filter、reduce函数
三个函数比较类似,都是应用于序列的内置函数.常见的序列包括list.tuple.str. 1.map函数 map函数会根据提供的函数对指定序列做映射. map函数的定义: map(function, ...
- python的map,filter,reduce函数
Map函数 map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. 举例说明 比如我们有一个函数f(x)=x2,要把这个函 ...
- map 长度_Python实用教程系列——高阶函数Map、Filter、Reduce
点击上方蓝色文字关注我们吧 有你想要的精彩 作者 | 那个百分十先生出品 | Python知识学堂 上次推文我们介绍了python中的<Logging日志模块>的相关知识,这次推文我们将学 ...
- Python中的map、zip、filter、reduce函数使用
# -*- coding: utf-8 -*- #1.函数说明:reduce()函数接收的参数和 map()类似,一个函数 f,一个list,但行为和 map()不同,reduce()传入的函数 f ...
- python reduce函数filter_Python filter()及reduce()函数使用方法解析
一.filter() 在Python内建函数中,有一个和map()函数用法类似.却可以用来过滤元素的迭代函数,这个函数就是filter().它的函数原型是:filter(function,iteara ...
- 如何用Map、Filter和Reduce替换Python For循环?
2020-01-06 17:00:00 全文共2375字,预计学习时长7分钟 图源:Unsplash 屏幕前的你,瞅瞅看,你的代码是不是通篇都是For循环?是不是眯眼靠近屏幕才能看清自己的代码? 没错 ...
- 在幕后看看Swift中的Map,Filter和Reduce的实现
一个函数接受一些输入,对它做一些事情并创建一个输出.功能有签名和正文.如果为函数提供相同的输入,则始终获得相同的输出.简而言之,这是函数的定义. 现在我们将通过仔细研究它们来讨论更多功能.我们将在Sw ...
- python进阶(小白也能看懂)——Map、Filter、Reduce
python进阶(小白也能看懂)--Map.Filter.Reduce 第三篇 Map.Filter.Reduce是python中常用的函数,使用这些函数能够给我们带来很多便捷. Map map(fu ...
最新文章
- 【牛客】CSL 的字符串 (stack map)
- pythonlist特性_python 高级特性:List Comprehensions(列表生成式)
- windows 10 安装和使用中5个常见问题
- 契约式设计(DbC)感想(二)
- PTA第3章-2 查验身份证 (15 分)
- Z-Blog 爬虫 node实现
- Python四大金刚之二:字典
- 【转】深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第五节 引用类型复制问题及用克隆接口ICloneable修复
- Sprint2-3.0
- 一加7pro保存的录音文件在哪一个文件夹?
- url没有参数名怎么直接带参数_用30行Python爬虫带你看PLMM(划掉,喵星人)
- MyBatis 批量插入(ExecutorType.BATCH)
- 大姨吗的戏 投资人的伤
- NeurIPS 2021 | 医学图像GAN生成,在Noisy Data上训练出超越监督学习的模型
- UE4蓝图--人物的移动
- 【5G】5G中的CU和DU是什么?
- 设置PyCharm背景图片
- 使用ps命令结束相应进程
- 医院病案管理系统MRMS源码 病案管理 医院源码
- Electron 初体验,用 js 搭建桌面应用程序