python 内置高阶函数

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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值