Python基础【高阶函数】-创新互联
高阶函数
map(fun,seq)
将seq中的元素依次作为参数传入fun,返回由函数返回值组成的新的列表。
python3:返回一个map对象
python2:返回列表
可以用list将对象转换为列表进行调用
代码:
def fun(a):
return a+1
print(map(fun,[1,2,3,4,5]))
print(list(map(fun,[1,2,3,4,5])))
输出结果:
创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目成都网站建设、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元平凉做网站,已为上家服务,为平凉各地企业和个人服务,联系电话:18982081108filter(fun,seq)
函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
python3:返回一个filter对象
python2:返回列表
代码:
def fun(a):
return True if a%2==1 else False
print(filter(fun,[1,2,3,4,5]))
print(list(filter(fun,[1,2,3,4,5])))
输出结果:
reduce(fun,seq)
reduce传入一个函数一个序列
fun的参数必须是2个
首次将seq中前两个元素传入fun中,随后每次将返回值和下一个元素作为新的参数传入函数,直到传入序列中最后一个元素为止,返回一个最后的返回值。
reduce()是python2中的内置函数
python3中需要导入funtools包。
from funtools import reduce
代码:
import functools
from functools import reduce
def fun(a,b):
return a+b
print(reduce(fun,[1,2,3,4,5]))
输出结果:
sorted(seq,key=...,reverse=...)
函数对所有可迭代的对象进行排序操作。
返回一个由seq序列组成的新的序列
利用key可对需要排序的元素进行筛选
代码:
print(sorted([3,1,2,5,4],reverse=True)) ## 逆序
print(sorted([3,1,2,5,4],key=lambda x:x*-1)) ## 取参数的相反数进行排序
输出结果:
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
分享名称:Python基础【高阶函数】-创新互联
URL网址:http://myzitong.com/article/heeco.html