栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python学习笔记-高阶函数

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python学习笔记-高阶函数

python学习笔记-高阶函数

需求:任意两个数字 按照指定的要求整理数字之后再进行求和运算

方法一、

Def add_num(a,b):
		Return abs(a) + abs(b)
			
Result = add_num(-1,2)
Print(result)
	

方法二、

def sum_num(a,b,f):
	  return f(a) + f(b)
	
result = sum_num(1,2,abs)
print(result)

方法二的代码更加简洁,函数的灵活性更强,将高阶函数作为形参传入函数

1. map(func,list)

作用:将传入的func作用于list中的每一个元素中,并且将结果做成新的列表(python2)or 迭代器(python3)返回

需求:计算list1中的每一个数字的平方和

list1=  [1,2,3,4,5]

def func(x):
	return x**2

result1 = map(func,list1) #返回一个迭代器

print(result1)   #打印的只是内存地址
print(list(result1))  #打印的是列表

2. reduce(func,list)

这里要求func必须要有两个参数,每次func计算的结果继续和序列中的下一个元素进行累积计算

注意:reduce传入的func必须要有两个参数,且需要导入functools模块

import functools

list1 = [1,2,3,4,5]

def func(a,b):
	return a + b

result2 = functools.reduce(func,list1)
print(result2)
3. filter(func,list)

过滤掉不符合条件的元素,返回一个filter的对象,如果要转换成列表可以使用List进行转换

这里的func就是充当筛选条件 true or flase

list2 = [1,2,3,4,4,5,6,6,7,7]

def func(x):
	return x % 2 == 0

result = filter(func,list2)
print(result)
print(list(result))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/488368.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号