您的位置:首页 > 编程语言 > Python开发

python 中的排序方法:sorted() 和 sort()

2019-01-10 19:43 661 查看

1. 概述

排序也是在程序中经常用到的算法。
python中内置了sorted()方法和sort;

sort 与 sorted 区别:

  1. sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作。
  2. list 的 sort 方法返回的是对已经存在的列表进行操作,无返回值,而内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作。

2. sort()

2.1 描述

sort 是应用在 list 上的方法, 对其进行排序。

2.2 语法

list.sort( func =None, key=None, reverse=False(or True))

  1. reverse – 排序规则,reverse = True 降序 , reverse = False 升序;
  2. 执行完后会改变原来的list,如果你不需要原来的list,这种效率稍微高点;
  3. 为了避免混乱,其会返回none
2.3 演示
A = [4, -5, 1, 3, -10]
A.sort()  # 默认按照升序排列
print(A)  # 结果 [-10, -5, 1, 3, 4]

A = [4, -5, 1, 3, -10]
A.sort(reverse=True)
# 降序排列
print(A)  # 结果 [4, 3, 1, -5, -10]

3. sorted()

3.1 描述

sorted() 函数对所有可迭代的对象进行排序操作。

3.2 语法

sorted 语法:
sorted (iterable ,cmp,key, reverse)
参数说明:

  1. iterable – 可迭代对象(如列表,元组,字符串等)。
  2. cmp – 比较的函数,这个函数应当具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0。
  3. key – key函数来实现自定义的排序,与cmp一样是接受一个函数,不同的是,这个函数只接受一个元素,例如按绝对值大小排序;
  4. reverse – 排序规则,reverse = True 降序 , reverse = False 升序(默认)。

返回值
返回重新排序的列表。

3.3 演示
A = [4, -5, 1, 3, -10]
B = sorted(A)  # 默认按照升序排列
print(B)  # 结果 [-10, -5, 1, 3, 4]

A = [4, -5, 1, 3, -10]
B = sorted(A, key=abs, reverse=True)
# 这里key为绝对值函数,降序排列
print(B)  # 结果 [-10, -5, 4, 3, 1]

A = ["dt", "mq", "gr"]
B = sorted(A)
# 字符串按照ASCII 码排列
print(B)  # 结果 ['dt', 'gr', 'mq']

希望能够帮助到大家,有什么问题可以 直接评论即可,喜欢有用的话可以点个赞让更多的人看到,如果不够详细的话也可以说,我会及时回复的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: