Py学习  »  Python

Python内置函数sorted()和列表方法sort()排序规则不得不说的事

Python小屋 • 6 年前 • 838 次点击  

Python内置函数sorted()和列表方法sort()可以使用key参数指定排序规则,并且都是稳定排序,也就是说,对于指定规则不能涵盖的元素,本来谁在前面,排好以后谁还是在前面

直接用代码说话:

>>> lst = [1, 3, 7, 5, 13, 11]

# 不指定排序规则,按元素大小升序排列
>>> sorted(lst)
[1, 3, 5, 7, 11, 13]

# 指定按转换成字符串以后的长度排序

# 13和11的长度一样

# 本来13在前面,排好以后还在前面
>>> sorted(lst, key=lambda x: len(str(x)))
[1, 3, 7, 5, 13, 11]
>>> lst.sort(key=lambda x: len(str(x)))
>>> print(lst)
[1, 3, 7, 5, 13, 11]

# 指定按转换成字符串以后的第一个字符升序排列

# 13和11的第一个字符一样

# 本来13在前面,排好以后还在前面

>>> sorted(lst, key=lambda x: str(x)[0])
[1, 13, 11, 3, 5, 7]

# 使用默认规则对lst进行原地排序

>>> lst.sort()
>>> print(lst)
[1, 3, 5, 7, 11, 13]

# 指定按转换成字符串以后的第一个字符升序排列

# 13和11的第一个字符一样

# 本来11在前面,排好以后还在前面

>>> sorted(lst, key=lambda x: str(x)[0])
[1, 11, 13, 3, 5, 7]



----------相关阅读----------

Python内置函数sorted()高级排序用法

Python内置函数sorted()从入门到精通


----------喜大普奔----------

1、继《Python程序设计基础》(2017年9月第5次印刷)、《Python程序设计(第2版)》(2017年9月第4次印刷)、《Python可以这样学》(2017年7月第3次印刷)系列图书之后,董付国老师新书《Python程序设计开发宝典》已于2017年8月1日在清华大学出版社出版,并于2017年9月进行了第2次印刷。为庆祝新书《Python程序设计开发宝典》全面上架,清华大学出版社联合“赣江图书专营”淘宝店推出特价优惠活动,《Python程序设计开发宝典》原价69元,新书上架期间超低价39.8元,可以复制下面的链接使用浏览器打开查看图书详情和购买:

https://detail.tmall.com/item.htm?spm=a1z10.3-b-s.w4011-14464369246.84.46f16db0roWfX4&id=557107249812&rn=339cbc9df2bac424664103917dedfbd2&abbucket=8&tbpm=3



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/qgZ9EbfNrY
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/3776
 
838 次点击