python-内置函数

内置函数表:https://www.runoob.com/python/python-built-in-functions.html

目录

map()函数

reduce()函数

all()函数

any()函数


map()函数

参考:【1】https://www.jianshu.com/p/e919f7eee06d 

           【2】https://www.runoob.com/python/python-func-map.html

python2中map()函数返回的是一个列表,但在python3中1他返回的是一个迭代数(iteration)。

map(function, iterable, ...)

 map函数 将后面迭代对象元素(iterable)中的每一个元素,按照function的计算方法,返回一个新的列表对象。注意map不改变原来序列,生成新的可迭代对象

def function(x):
    return x**2

print(list(map(function,[1,2,3])))
## [1, 4, 9]

(2) iterable对象个数可以是多个,向function传播的时候,也是按照对应的位置进行传递。迭代对象个数和function接受的参数个数要一致。此时map是并行处理的

m = (2,3,4)
n = (1,1,1)
M = map(lambda x,y: x*y,m,n) ## m,n只要是可迭代对象就可以
N = list(map(lambda x,y: x*y,m,n))
print(M,N)

## <map object at 0x0000006A15C69F28> [2, 3, 4]
## map本身是一个可迭代对象 
## 可以用list,tuple等强制转换成list,tuple等格式 

(3)元素个数不同的时候,以短的为主。

def function(x,y):
    return x**y

print(list(map(function,[1,2,3],[3,2])))

## output: [1, 4]

(4)map可以处理迭代器中不同类型的数据,主要依靠function必须支持不同类型的处理。

def function(x,y):
    return x**int(y)

print(list(map(function,[1,2,3],['3',2])))

## output: [1,4]

reduce()函数

参考:https://www.runoob.com/python/python-func-reduce.html

          参考链接2

reduce(function, iterable[, initializer])

reduce()函数将iterable可迭代对象中的前两个参数,作为输入参数传到function ,然后function将结果 作为第一个参数 和iterable中的第三个参数(作为第二个参数)继续传入function。

from functools import reduce
nums = [1,2,3,4,5,6]
print(reduce(lambda x,y:x+y,nums)) # 21 

print(reduce(lambda x,y:x+y,nums,-1)) # 20

## -1是第三个参数,作为function的第一个参数传入,先计算-1+1=0, 0+2, 2+3,...

reduce()中不能接受两个计算同时进行。

###### error ##########
print(reduce(lambda x,y:(x+y,x-y),nums)) 

all()和any()对应数学的全称量词和存在量词。

all()对应全称量词,全部为真则为真,否则为假。

any()对应存在量词,有一个为真则为真,否则为假。

all()函数

all() 函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False.

c = ['a','b','c','d']

print(all(c[i] > 'A' for i in range(0,len(c))))

###等价于####
def test(c):
    for i in range(0,len(c)):
        if c[i] <= 'A':
            return False
    return True 

print(text(c))

          all()函数在判断时,元素除了是 0、空、None、False 外都算 True。

c = ['a','','c','d']   ##空 -> False
c = [1,3,0]   ## 0 -> False
c = [] ## True
c = [None] ## None -> False
c = [False,1,1] ##False ->False

print(all(c))  ##情况上面标明

any()函数

都是0,None,False才是假。否则为真。

c = ['a','','c','d']   ##存在非空-> True
c = [1,3,0]   ## 存在1  -> True
c = [] ## False
c = [None] ## 不存在真 -> False
c = [False,1,1] ##存在1 ->True

print(any(c))  ##情况上面标明

针对any() 和 all() 有个问题,为什么 c = [] 是 all()是True??? 是如何判定的??

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Foneone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值