sorted()与sort()函数
一 sorted()函数
有三个参数:
第一个是iterable,必选,待排序的集合,可以是list,tuple,set,dict等
第二个是reverse,可选,默认为False按升序排列,True按降序排列
第三个是key,可选,这是一个函数,返回一个key,可以看做是排序的标准,注意这里的key输入的是待排序集合的每一个元素,返回的是按照映射函数排序后的结果,这里的函数可以有多个,即先按fun1排序后,在按fun2排序,并且这里的排序函数可以直接是一个list,则按list从头到尾进行排序,
sorted函数不修改原始列表,而是返回新的列表,而sort()直接修改原数据
# 对list排序
fruits = ['apple', 'pear', 'peach', 'banana']
print(sorted(fruits, key=lambda x: len(x)))
# ['pear', 'apple', 'peach', 'banana'] # 对list内的tuple排序(对list内的dict排序同理)
student_tuple = [('Bob','boy',17), ('Jack','girl',19), ('Tom','boy',12)]
print(sorted(student_tuple, key=lambda student: student[2]))
# [('Tom', 'boy', 12), ('Bob', 'boy', 17), ('Jack', 'girl', 19)] # 对字典的值排序
student_dict = {'Bob':{'sex':'boy', 'age':17},
'Jack':{'sex':'girl','age':19},
'Tom':{'sex':'boy','age':12}}
# 直接排序只能对字典的key进行排序
print(sorted(student_dict))
# ['Bob', 'Jack', 'Tom'] # 将字典中的每个key-values对转化成一个tuple,便于排序,因为字典是无序的,无法直接对字典排序
student_dict_items = student_dict.items()
print(sorted(student_dict_items, key=lambda x: x[1]['age']))
# [('Tom', {'sex': 'boy', 'age': 12}), ('Bob', {'sex': 'boy', 'age': 17}), ('Jack', {'sex': 'girl', 'age': 19})]
1 sorted可以对series,ndarry,list类型进行排序
默认会从小到大进行排序
arr1 = np.array([1,2,3,4,44,3243,43,8678])
print(sorted(arr1))
print(type(sorted(arr1)))
对ndarry排序时,返回的是一个list。输出:
[1, 2, 3, 4, 43, 44, 3243, 8678]
<class 'list'>
2 sort()可以对list中元素进行排序
注意list中含有nan时,不是真正的排序,sorted和sort效果基本一致,只不过后者可直接在原数据上修改.
a = [3,4,2,2,4,np.nan,5,3,5,6]
print(a)
print(sorted(a))
a.sort(reverse= False)
print(a)
#[3, 4, 2, 2, 4, nan, 5, 3, 5, 6]
#[2, 2, 3, 3, 4, 4, nan, 5, 5, 6]
#[2, 2, 3, 3, 4, 4, nan, 5, 5, 6]
参考:https://www.runoob.com/python/att-list-sort.html
sorted()与sort()函数的更多相关文章
- python内置函数sorted()及sort() 函数用法和区别
python内置函数sorted(),sort()都有排序的意思,但是两者有本质的区别,sort 是应用在 list 上的方法,sorted 可以对所有可迭代的对象进行排序操作,list 的 sort ...
- 剑指offer第32题:把数组排成最小的数及关于list.sort()和sorted( Iterable object )函数的相关知识
* 解题思路: * 先将整型数组转换成字符数组,然后将String数组排序,最后将排好序的字符串数组拼接出来.关键就是制定比较规则. * 排序规则如下: * 若ab > ba 则 a & ...
- Python3:sorted()函数及列表中的sort()函数
一.sort,sorted函数介绍: Sort函数是list列表中的函数,而sorted可以对list或者iterator进行排序. 下面我们使用help来查看他们的用法及功能: sort: ...
- python sort() sorted() 与argsort()函数的区别
1.python的内建排序函数有 sort.sorted两个 sort函数只定义在list中,sorted函数对于所有的可迭代序列都可以定义. for example: ls = list([5, 2 ...
- python 中的sort 和java中的Collections.sort()函数的使用
x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...
- Perl Sort函数用法总结和使用实例
一) sort函数用法 sort LISTsort BLOCK LISTsort SUBNAME LIST sort的用法有如上3种形式.它对LIST进行排序,并返回排序后的列表.假如忽略了SUBNA ...
- STL sort()函数
C++之所以得到这么多人的喜欢,是因为它既具有面向对象的概念,又保持了C语言高效的特点.STL 排序算法同样需要保持高效.因此,对于不同的需求,STL提供的不同的函数,不同的函数,实现的算法又不尽相同 ...
- python下使用sort()函数对目录下文件名进行多条件排序
目录 1.基础函数 2.例子解析 参考 1.基础函数 a.sort()函数 sort()函数的作用是对列表内容进行正向排序,直接在原列表进行修改,返回的是修改后的列表. lists =[1, 5, 1 ...
- Python小白干货宝典:sorted()函数:列表元素排序
定义: sorted() 函数对所有可迭代的对象进行排序操作. 内建函数 sorted 方法返回的是一个新的 list,而不是在原来的基础上进行的操作. 语法: sorted 语法: sorted(i ...
随机推荐
- 剑指offer-二叉搜索树的第k个结点树-python
二叉查找树(Binary Search Tree),(又:二叉搜索树,二叉排序树)它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值: 若它的 ...
- 自己制作 Android Vector Asset 矢量图
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/c5138891/article/deta ...
- Spring基础08——使用p命名空间
1.使用p命名空间 为了简化xml配置,越来越多的xml文件采用属性而非子元素配置信息,Spring从2.5版本开始引入了一个新的p命名空间,可以通过<bean>元素属性的方式配置Bean ...
- 微服务框架学习二:Http调用
1. HTTP接口的意义 二进制接口使用的是java/hessian序列化协议,不能很好的与其他语言通信,虽然hessian也是一种跨语言的通用协议,但很多语言没有很好的实现该协议的产品.所以为了能够 ...
- SPSS Statistics 26.0 下载安装和激活
目录 1. 其他版本 2. IBM SPSS Statistics 26 新增功能 3. 安装步骤 4. 下载地址 1. 其他版本 参考:https://www.cnblogs.com/coco56/ ...
- JavaEE高级-Maven学习笔记
Maven简介 1.Maven是一款服务于Java平台的自动化构建工具. 2.构建: - 概念:以“Java源文件”.“框架配置文件”.“JSP”.“HTML”.“图片”等资源为“原料”,去“生产”一 ...
- docker配置Nginx
创建及进入docker容器$docker run -p 80 --name web01 -i -t ubuntu /bin/bash 创建html文件夹$mkdir -p /var/www/html ...
- 长沙理工大学第十二届ACM大赛-重现赛 J 武藏牌牛奶促销
链接:https://ac.nowcoder.com/acm/contest/1/J 来源:牛客网 武藏牌牛奶促销 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他 ...
- if_else
//if.......else if......else //object IF_ELSE {// def main(args:Array[String]){// var x=30// if (x== ...
- Github使用进阶
1 Github常用词: watch:会持续收到该项目的动态 fork:复制某个项目到自己的Github仓库中 star:可以理解为点赞 clone:将项目下载至本地 follow:关注你感兴趣的作者 ...