python的内建排序函数有 sort、sorted两个。

1、基础的序列升序排序直接调用sorted()方法即可

1 ls = list([5, 2, 3, 1, 4])
2 new_ls = sorted(ls)或者使用ls.sort()即可,直接将ls改变
3 print(new_ls)

需要注意:sort()方法仅定义在list中,而sorted()方法对所有的可迭代序列都有效

并且针对任何的可迭代序列,sorted()都是返回一个list,

1 print(sorted({8: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'}))
2 #输出为:[2, 3, 4, 5, 8]

sorted(iterable,cmp,key,reverse)

2、使用cmp函数排序,cmp是带两个参数的比较函数

1 list1 = [('david', 90), ('mary',90), ('sara',80),('lily',95)]
2
3 print(sorted(list1,cmp = lambda x,y: cmp(x[0],y[0])))#按照第一个位置的字母序排序
4 #[('david', 90), ('lily', 95), ('mary', 90), ('sara', 80)]
5
6 print(sorted(list1,cmp = lambda x,y: cmp(x[1],y[1])))#按照第二个位置的数字序排序
7
8 #[('sara', 80), ('david', 90), ('mary', 90), ('lily', 95)]

3、添加key参数,key 是带一个参数的函数

list.sort()和sorted()函数使用key参数来指定一个函数,此函数将在每个元素比较前被调用。

例如通过key指定的函数来忽略字符串的大小写

1 print(sorted("This is a test string from Andrew".split(), key=str.lower))
2 #输出为:['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']

4、用reverse排序

1 print(sorted(list1,reverse = True))#逆转
2
3 #[('sara', 80), ('mary', 90), ('lily', 95), ('david', 90)]

5、argsort()函数,是numpy库中的函数

下面的不想写了,直接复制过来留个档!

argsort函数
argsort函数返回的是数组值从小到大的索引值

Examples
--------
One dimensional array:一维数组

>>> x = np.array([3, 1, 2])
>>> np.argsort(x)
array([1, 2, 0])

Two-dimensional array:二维数组

>>> x = np.array([[0, 3], [2, 2]])
>>> x
array([[0, 3],
[2, 2]])

>>> np.argsort(x, axis=0) #按列排序
array([[0, 1],
[1, 0]])

>>> np.argsort(x, axis=1) #按行排序
array([[0, 1],
[0, 1]])
#######################################

例1:

>>> x = np.array([3, 1, 2])
>>> np.argsort(x) #按升序排列
array([1, 2, 0])
>>> np.argsort(-x) #按降序排列
array([0, 2, 1])
>>> x[np.argsort(x)] #通过索引值排序后的数组
array([1, 2, 3])
>>> x[np.argsort(-x)]
array([3, 2, 1])
另一种方式实现按降序排序:

>>> a = x[np.argsort(x)]
>>> a
array([1, 2, 3])
>>> a[::-1]
array([3, 2, 1])

排序函数(sort()、sorted()、argsort()函数)相关推荐

  1. python 排序函数 sort sorted 简介

    sort() 是Python列表的一个内置的排序方法,list.sort() 方法排序时直接修改原列表,返回None: sort() 是Python内置的一个排序函数,它会从一个迭代器返回一个排好序的 ...

  2. 排序函数sort()函数的运用

    Sort()函数是c++一种排序方法之一,时间复杂度为n*log2(n),执行效率较高,比冒泡排序和选择排序的执行率都要高. Sort()函数的使用方法 一:Sort()包含在头文件#include& ...

  3. python 两种排序方法 sort() sorted()

    python中有两种排序方法,list内置sort()方法或者python内置的全局sorted()方法 区别为: sort()方法对list排序会修改list本身,不会返回新list.sort()只 ...

  4. python argsort函数_Python numpy.argsort函数方法的使用

    numpy.argsort numpy.argsort(a, axis=-1, kind=None, order=None)      [source] 返回将对数组进行排序的索引. 使用kind关键 ...

  5. sort()函数基本用法

    C++sort()函数的用法 (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c++以来使用的冒泡排序和选择排序所带来的执行效率不高的问题 ...

  6. JavaScript 数组排序函数sort()的使用

    简介   sort()方法是js中对于数组进行排序的函数.其可以方便快捷的实现对于数组的排序而不用我们自己编写排序方法.注:sort()函数会直接改变原数组. 1.纯字符串数组排序 let myArr ...

  7. 排序函数 sort()、sorted()、argsort()函数

    sort()函数 python的内建排序函数有 sort.sorted两个.而sort ()可以直接对列表进行排序 用法:list.sort(func=None, key=None, reverse= ...

  8. python sort函数排序_Python中排序常用到的sort 、sorted和argsort函数

    argsort函数返回的是数组值从小到大的索引值 Examples -------- One dimensional array:一维数组 >>> x = np.array([3, ...

  9. [转载] Python列表排序 list.sort方法和内置函数sorted

    参考链接: Python中的函数 Python列表排序 list.sort方法和内置函数sorted 很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表. 这时 ...

最新文章

  1. 【Android RTMP】RTMP 数据格式 ( FLV 视频格式分析 | 文件头 Header 分析 | 标签 Tag 分析 | 视频标签 Tag 数据分析 )
  2. AtomicLong和LongAdder的区别
  3. Jquery中的this是什么类型
  4. android studio adb 命令行,Android Studio如何配置adb以及经常使用命令
  5. 前端DEMO:网络上流行的抖音罗盘
  6. 力扣904-水果成篮(C++,总结别人的思路)
  7. 数控车椭圆编程实例带图_邹军:数控车床任意位置椭圆宏程序的编程
  8. UOS开启开发者模式
  9. Delphi7--多分支Case语句
  10. JVM系列之:日志分析工具:GCViewer、VisualVM、GCeasy
  11. win10 锁屏时间无法设置 解决方法
  12. 弘辽科技:淘宝流失率是什么意思?客户流失的原因有哪些?
  13. 电脑上的ofd格式文件如何打开呢_ofd文件怎么打开用什么软件
  14. 行星运动轨迹的程序实现
  15. 在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了。开始坐标总是小于结束坐标。
  16. 阿里移动安全陈树华:安全的最高境界是无感知
  17. virtual Box与Vagrant的安装与踩坑
  18. 狗狗图片识别分类的CNN(卷积网络)实现
  19. 数据可视化工具之--百度图说
  20. Shader攻占笔记(八)屏幕特效

热门文章

  1. coreldraw x4如何重叠图片_CorelDRAW复制及镜面反转对象
  2. OpenCV中绘制外围矩形框和圆框
  3. RandomizedLogisticRegression ImportError解决思路参考
  4. 细菌基因组基本概念(一)
  5. 单基因GSEA怎么做?
  6. 抽象线条发生器fcpx插件:Abstract Pen Animator Mac
  7. PAT学习资料汇总(PAT甲级、PAT顶级、PAT考试经验)
  8. P1601 A+B Problem(高精)-- python3实现
  9. 1.10 编程基础之简单排序 03 成绩排序 3分 python
  10. 2.1基本算法之枚举_1749数字方格