一 sorted()函数

有三个参数:

第一个是iterable,必选,待排序的集合,可以是list,tuple,set,dict等

第二个是reverse,可选,默认为False按升序排列,True按降序排列

第三个是key,可选,这是一个函数,返回一个key,可以看做是排序的标准,注意这里的key输入的是待排序集合的每一个元素,返回的是按照映射函数排序后的结果,这里的函数可以有多个,即先按fun1排序后,在按fun2排序,并且这里的排序函数可以直接是一个list,则按list从头到尾进行排序,

sorted函数不修改原始列表,而是返回新的列表,而sort()直接修改原数据

  1. # 对list排序
  2. fruits = ['apple', 'pear', 'peach', 'banana']
  3. print(sorted(fruits, key=lambda x: len(x)))
  4. # ['pear', 'apple', 'peach', 'banana']
  5.  
  6. # 对list内的tuple排序(对list内的dict排序同理)
  7. student_tuple = [('Bob','boy',17), ('Jack','girl',19), ('Tom','boy',12)]
  8. print(sorted(student_tuple, key=lambda student: student[2]))
  9. # [('Tom', 'boy', 12), ('Bob', 'boy', 17), ('Jack', 'girl', 19)]
  10.  
  11. # 对字典的值排序
  12. student_dict = {'Bob':{'sex':'boy', 'age':17},
  13. 'Jack':{'sex':'girl','age':19},
  14. 'Tom':{'sex':'boy','age':12}}
  15. # 直接排序只能对字典的key进行排序
  16. print(sorted(student_dict))
  17. # ['Bob', 'Jack', 'Tom']
  18.  
  19. # 将字典中的每个key-values对转化成一个tuple,便于排序,因为字典是无序的,无法直接对字典排序
  20. student_dict_items = student_dict.items()
  21. print(sorted(student_dict_items, key=lambda x: x[1]['age']))
  22. # [('Tom', {'sex': 'boy', 'age': 12}), ('Bob', {'sex': 'boy', 'age': 17}), ('Jack', {'sex': 'girl', 'age': 19})]

1 sorted可以对series,ndarry,list类型进行排序

默认会从小到大进行排序

  1. arr1 = np.array([1,2,3,4,44,3243,43,8678])
  2. print(sorted(arr1))
  3. print(type(sorted(arr1)))

对ndarry排序时,返回的是一个list。输出:

  1. [1, 2, 3, 4, 43, 44, 3243, 8678]
  2. <class 'list'>

2 sort()可以对list中元素进行排序

注意list中含有nan时,不是真正的排序,sorted和sort效果基本一致,只不过后者可直接在原数据上修改.

  1. a = [3,4,2,2,4,np.nan,5,3,5,6]
  2. print(a)
  3. print(sorted(a))
  4. a.sort(reverse= False)
  5. print(a)
  6. #[3, 4, 2, 2, 4, nan, 5, 3, 5, 6]
  7. #[2, 2, 3, 3, 4, 4, nan, 5, 5, 6]
  8. #[2, 2, 3, 3, 4, 4, nan, 5, 5, 6]

参考:https://www.runoob.com/python/att-list-sort.html

sorted()与sort()函数的更多相关文章

  1. python内置函数sorted()及sort() 函数用法和区别

    python内置函数sorted(),sort()都有排序的意思,但是两者有本质的区别,sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作,list 的 sort ...

  2. 剑指offer第32题:把数组排成最小的数及关于list.sort()和sorted( Iterable object )函数的相关知识

     * 解题思路:  * 先将整型数组转换成字符数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关键就是制定比较规则.  * 排序规则如下:  * 若ab > ba 则 a & ...

  3. Python3:sorted()函数及列表中的sort()函数

    一.sort,sorted函数介绍:   Sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序.   下面我们使用help来查看他们的用法及功能: sort: ...

  4. python sort() sorted() 与argsort()函数的区别

    1.python的内建排序函数有 sort.sorted两个 sort函数只定义在list中,sorted函数对于所有的可迭代序列都可以定义. for example: ls = list([5, 2 ...

  5. python 中的sort 和java中的Collections.sort()函数的使用

    x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...

  6. Perl Sort函数用法总结和使用实例

    一) sort函数用法 sort LISTsort BLOCK LISTsort SUBNAME LIST sort的用法有如上3种形式.它对LIST进行排序,并返回排序后的列表.假如忽略了SUBNA ...

  7. STL sort()函数

    C++之所以得到这么多人的喜欢,是因为它既具有面向对象的概念,又保持了C语言高效的特点.STL 排序算法同样需要保持高效.因此,对于不同的需求,STL提供的不同的函数,不同的函数,实现的算法又不尽相同 ...

  8. python下使用sort()函数对目录下文件名进行多条件排序

    目录 1.基础函数 2.例子解析 参考 1.基础函数 a.sort()函数 sort()函数的作用是对列表内容进行正向排序,直接在原列表进行修改,返回的是修改后的列表. lists =[1, 5, 1 ...

  9. Python小白干货宝典:sorted()函数:列表元素排序

    定义: sorted() 函数对所有可迭代的对象进行排序操作. 内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作. 语法: sorted 语法: sorted(i ...

随机推荐

  1. Excel如何通过关键字模糊匹配查找全称

    打开excel,以其素材为例,通过关键字模糊匹配查找全称.   在公司名下输入公式:=LOOKUP(1,0/FIND(D2,A2:A5),A2:A5),按回车键确定即可.   FIND(D2,A2:A ...

  2. 高版本chrome不再支持window.showmodaldialog 的临时替换方案【用window.open】

    接管别人的项目,因开发时用了showmodaldialog 导致最近很多用户chrome升级到最新之后 就无法弹窗了.原因是新版chrome[37+]不再支持showmodaldialog. show ...

  3. Django之AJAX请求

    ---恢复内容开始--- 一.choices字段  1.实列  前端代码 <div class='container'> <div class="row"> ...

  4. 2019-10-31-VisualStudio-2019-新特性

    title author date CreateTime categories VisualStudio 2019 新特性 lindexi 2019-10-31 08:48:27 +0800 2019 ...

  5. 管线命令(Pipe)

    管线命令接受|前面传来的stdout,管线示意图如下所示: 管线两个需要注意的地方: 1.管线仅会处理stdout,忽略对stderr的处理 2.管线必须接受前个指令的stdin才是 那么,如果我想接 ...

  6. Shell编程变量

    shell变量 什么是变量,存放了各种数据,在linux怎么定义了变量,name=ken,name就是变量名,ken就是变量值, 但是在shell中,有三种方式: name=ken name='ken ...

  7. STM32F407 正点原子按键输入实验

    库函数版本: 库函数 源文件 头文件 GPIO_Init(GPIOE, &GPIOE_initstructure) stm32f4xx_gpio.c stm32f4xx_gpio.h RCC_ ...

  8. Linux虚拟机网络设置问题

    使用的是VM 工作站15 和以前的不一样 没有什么虚拟机网络设置 :打开Edit->Virtual NetWork editor, 选中VMnet8,然后点击NAT Setting按钮,再点击D ...

  9. 【NOIP2013模拟】归途与征程

    题目 分析 好吧...明显是暴力题. 首先,把A串分成只有小写字母组成的小分串,按顺序存放:A[1].A[2].A[3]--. 对于同构循环串,显然把两个B串合在一起,成为一个新的C串.\(C[i.. ...

  10. 实用工具/API

    实用工具/API PNG图片无损压缩 在线给图片加水印 随机密码生成 随机头像生成 微博一键清理工具 CSS压缩 在线工具 免费虚拟主机 技术摘要 https://github.com/biezhi/ ...