匿名函数与内置函数(fliter,sorted)

内置函数:fliter(func,iterable),他的语法结构跟map函数基本一致,调用输出也是一个地址,需要通过类型强转输出,他的作用是过滤,看下面一个例子

Tuple1=(2,3,6,11,56,1,76)

#要过滤出其中大于10的数字

s=filter(lambda x: x>10,Tuple1)

print(list(s))

[11, 56, 76]

#有一个学生字典列表,要取age>20的信息

students=[{'name':'Tom','age':20},
          {'name':'lucy','age':19},
          {'name':'lily','age':13},
          {'name':'mark','age':21},
          {'name':'jack','age':23},
          {'name':'steven','age':18}]


s=filter(lambda x: x['age']>20,students)
print(list(s))

[{'name': 'mark', 'age': 21}, {'name': 'jack', 'age': 23}]

可以看出filter过滤器结合匿名函数很简单的取出了想要的元素。

 

 

内置函数sorted:格式:sorted(iterable,key,reverse)(注意,列表也有sort类方法,只适用于列表)

key如max中的key,可按key来排序。如下例

students=[{'name':'Tom','age':20},
          {'name':'lucy','age':19},
          {'name':'lily','age':13},
          {'name':'mark','age':21},
          {'name':'jack','age':23},
          {'name':'steven','age':18}]

#通过年龄从小到大升序排序

a=sorted(students,key=lambda x:x['age'],reverse=False)
print(a)

[{'name': 'lily', 'age': 13}, {'name': 'steven', 'age': 18}, {'name': 'lucy', 'age': 19}, {'name': 'Tom', 'age': 20}, {'name': 'mark', 'age': 21}, {'name': 'jack', 'age': 23}]

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值