python高级函数 python 高级语法( 二 )


map函数的第一个参数,可以有多个参数,当这种情况出现后,后面的第二个参数需要是多个序列 。
map 函数解决的问题:
reduce 函数原型如下:
第一个参数是函数,第二个参数是序列,返回计算结果之后的值 。该函数价值在于滚动计算应用于列表中的连续值 。
测试代码如下:
最终的结果是 6,如果设置第三个参数为 4,可以运行代码查看结果,最后得到的结论是,第三个参数表示初始值,即累加操作初始的数值 。
简单记忆:对序列内所有元素进行累计操作 。
zip 函数原型如下:
zip函数将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表 。
如果各个迭代器的元素个数不一样,则返回列表长度与最短的对象相同,利用星号(*)操作符 , 可以将元组解压为列表 。
测试代码如下:
展示如何利用*操作符:
输出结果如下:
简单记忆:zip 的功能是映射多个容器的相似索引 , 可以方便用于来构造字典 。
enumerate 函数原型如下:
参数说明:
该函数用于将一个可遍历的数据对象组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中 。
测试代码如下:
返回结果为:。
本文涉及的函数可以与 lambda 表达式进行结合,能大幅度提高编码效率 。最好的学习资料永远是官方手册
20201014-python高级函数作业1、定义一个使用不定长参数python高级函数的函数python高级函数,并在函数中打印出参数及其类型,统计传入参数的个数
def test(a,b,*args,c=10,**kwargs):
print("a=",a)
print("b=",b)
print("args=",args)
print("c=",c)
print("kwargs=",kwargs)
print("参数总长度:",1+1+len(args)+1+len(kwargs))
test(1,2,3,4,5,m=4)
def test(a,b,c=10,*args,**kwargs):
print("a=",a)
print("b=",b)
print("args=",args)
print("c=",c)
print("kwargs=",kwargs)
print("参数总长度:",1+1+len(args)+1+len(kwargs))
test(1,2,3,4,5,m=4)
2、定义一个函数max,接受的参数类型是数值,最终返回两个数中的最大值
def max(num1,num2):
if num1num2:
return num1
else:
return num2
3、定义一个函数min,接受的参数类型是数值,最终返回两个数中的最小值
def min(num1,num2):
if num1num2:
return num1
else:
return num2
4、分别定义加减乘除四个函数实现两个数之间的加减乘除操作
# 加法
def add(a,b):
【python高级函数 python 高级语法】return a+b
# 减法
def sub(a,b):
return a-b
# 乘法
def mul(a,b):
return a*b
# 除法
def div(a,b):
if b==0:
return 0
else:
return a/b
5、分别定义加减乘除四个函数,然后实现多个数之间的累加累减累除累乘操作,如[1,2,3,4,5],累加即是1+2+3+4+5 , 注意当使用除法时 , 应判断被除数不能为0
#累加
def add(a,b,*args):
s=a+b
for i in args:
s=s+i
return s
#累减
def sub(a,b,*args):
s=a-b
for i in args:
s=s-i
return s
#累乘
def mul(a,b,*args):
s=a*b
for i in args:
s=s*i
return s
#累除
def div(a,b,*args):
if b==0:
return a
else:
s=a/b
for i in args:
if i ==0:
continue
else:
s=a/b
return s
6、使用不定长参数定义一个函数max_min,接受的参数类型是数值,最终返回这些数中的最大值和最小值——错题