admin 管理员组

文章数量: 1086019


2024年3月11日发(作者:failed to create a child event loop)

python——四大内置高阶函数

一、map函数

基本介绍:

map():接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每

个元素,并把结果作为新的序列返回

代码块:

#对于序列[-1,3,-5,-2]的每个元素求绝对之

print(list(map(abs,[-1,3,-5,-2])))

#有10个2-7之间的随机数,对每个元素求阶乘

import random

def jc(x):

res = 1

for i in range(1,x+1):

res *= i

return res

li = [t(2,7) for i in range(10)]

print(li)

print(list(map(jc,li)))

#'1 3 5 7 9'

s = '1 3 5 7 9'print(list(map(int,())

二、reduce函数

基本介绍:

reduce:把一个函数作用在一个序列上,这个函数必须接收两个参数,reduce把结果继续和

序列的下一个元素做累积计算

reduce(f,[x1,x2,x3,x4,x5]) = f(f(f(x1,x2),x3),x4)

代码块:

from functools import reduce

def multi(x,y):

return x*y

print(reduce(multi,range(1,5)))

三、filter函数

基本介绍:

filter过滤函数,接收一个函数一个序列,filter把传入的函数依次作用于每个元素,根据返

回值是True还是False决定保留还是丢弃该元素

代码:

def isodd(num):

if num % 2 == 0:

return True

else:

return False

print(list(filter(isodd,range(1,101))))

四、sorted函数

基本介绍:

默认sort和sorted由小到大排序,reverse=True由大到小排序

示例一:

代码:

li = [2,1,4,3]

(reverse=True)

print(li)

#默认sort和sorted由小到大排序,reverse=True由大到小排序

a = sorted(li,reverse=True)

print(a)

示例二:

代码:

info = [

('apple1',200,32),

('apple2',40,12),

('apple3',40,2),

('apple4',1000,23),

('apple5',40,5),

]

print(sorted(info))

#按照商品数量进行排序

def sorted_by_count(x):

return x[1]

#按照商品价格排序

def sorted_by_price(x):

return x[2]

#先按照商品数量由小到大排序,如果商品数量一样,则按照商品价格由小到大排序

def sorted_by_count_price(x):

return x[1],x[2]

print(sorted(info,key=sorted_by_count))

print(sorted(info,key=sorted_by_price))

print(sorted(info,key=sorted_by_count_price))


本文标签: 函数 序列 元素 排序 作用