class Enemy:
def __init__(self,name,hp,atk,duration):
self.name = name
self.hp = hp
self.atk = atk
self.duration = duration
enemy_list = [
Enemy('玄冥二老',86,80,120),
Enemy('成昆',0,0,150),
Enemy('谢逊',120,50,150),
Enemy('灭霸',0,0,999)
]
#1. filter(func,iterable)
#在敌人列表中查找所有死人
filter(lambda item: item.hp == 0,enemy_list)
#2. map(func,iterable):作用:映射
#在敌人列表中查找所有敌人的名称
map(lambda item:item.name,enemy_list)
#3. max(*iterable,key=func) # *为接收多个位置传参,key为关键字传参
#获取攻击力最大的敌人
max(enemy_list,key = lambda item:item.atk)
print(re.name)
#4. sorted(iterable,*,key=func,reverse):作用:排序,会复制一份原数据,在新数据上进行修改,所以有返回值,默认为升序排序
#对敌人列表根据攻击力升序排序
for item in sorted(enemy_list,key = lambda item:item.atk,reverse=True): #迭代返回的数据
print(item.atk)
python 内置高阶函数
最新推荐文章于 2022-07-21 15:19:38 发布