python内置函数sorted(x)的作用是_Python内置filter与sorted函数

Python内部提供了序列过滤函数 filter 。

接收参数为 一个函数以及一个序列。函数依次作用于序列中的每一个元素,并根据返回值是True 或者 False 判断是否删除该元素。

样例如下

# 样例 判断是否奇数

def is_odd(x):

return x % 2 == 1

L = [1, 2, 3, 4, 5, 6, 7, 8, 9]

a = list(filter(is_odd, [1, 2, 3, 4, 5, 6, 7]))

print(a)

# 输出

[1, 3, 5, 7]

Pathon内部提供了序列排序函数 sorted 。

>>> sorted([36, 5, -12, 9, -21])

[-21, -12, 5, 9, 36]

此外,sorted()函数也是一个高阶函数,它还可以接收一个key函数来实现自定义的排序,例如按绝对值大小排序:

>>> sorted([36, 5, -12, 9, -21], key=abs)

[5, 9, -12, -21, 36]

当然,key传递的不一样要是python内置的函数,也可以是自定义函数,如:

# 样例 根据绝对值 升序

def test_sort(x):

return abs(x)

L = [-7, -12, 3, 4, 5, 6, 7, 8, 9]

a = list(sorted(L,key=test_sort))

print(a)

# 输出

[3, 4, 5, 6, -7, 7, 8, 9, -12]

此外,如果我们需要对序列进行反向排序,我们可以通过第三个参数 resvers=true进行配置。这样我们就无需改变key函数。如下所示

# 根据绝对值降序

def test_sort(x):

return abs(x)

L = [-7, -12, 3, 4, 5, 6, 7, 8, 9]

a = list(sorted(L,key=test_sort,reverse=True))

print(a)

# 输出

[-12, 9, 8, -7, 7, 6, 5, 4, 3]

小结

sorted()也是一个高阶函数。用sorted()排序的关键在于实现一个映射函数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值