python sort函数用的是什么排序方法_几种简单的排序算法(一)使用Python内部函数或方法sort()和sorted()...

1、使用python内置函数sort()、sorted()

a)、基础使用(默认升序)

第一种: 直接调用 内建函数 sorted()方法可以快速完成升序排序。它返回一个新的list。

可以接受参数reverse(False表示升序)

例如:

sorted([2,1,13,44,3,42,3])

[1, 2, 3, 3, 13, 42, 44]

第二种:也可以使用 内建方法 list.sort()的方法来完成上述,但是此时list自身会被改变。

如果不需要保留原列表,此方法更好

返回值为None

可以接受参数reverse(False表示升序)

例如:

a=[2,1,13,44,3,42,3]

a.sort()

print(a)

[1, 2, 3, 3, 13, 42, 44]

PS:

需要注意的是list.sort()方法仅被定义在list中,而sorted()可用于任何一个可迭代对象

b)、扩展

从Python2.4开始,list.sort() 和 sorted() 都增加了一个 ‘key’ 参数,主要用来在进行比较之前,指定每个列表元素上要调用的函数。

key应该是一个函数,其接收一个参数,并且返回一个用于排序依据的key。其执行效率很高,因为对于输入记录key function能够准确的被调用。

student_tuples = [

('john', 'A', 15),

('jane', 'B', 12),

('dave', 'B', 10),

]

# 使用对象的下标作为key:

sorted( student_tuples, key=lambda student: student[2] ) # sort by age

[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

# 使用对象的属性作为key:

sorted(student_objects, key=lambda student: student.age) # sort by age

[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]

c)、稳定性分析

从python2.2之后,sorted()是保障了稳定性的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值