一 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()函数的更多相关文章

  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. 关于websocket 在生产环境中遇到的问题 及 解决办法

    一  生产环境说明 1) tornado 4.2 2) Tornado-MySQL 3) supervisor 3.0b2 4) protobuf 2.6.1 5) python 2.7.6 6) n ...

  2. linux capalibities

    linux进程能力管理 安装能力查看工具集 yum install libcap-ng-utils 主要包含以下工具 [root@thatsit ~]# rpm -ql libcap-ng-utils ...

  3. Laravel——缓存使用

    1.使用Redis类 use Illuminate\Support\Facades\Redis; 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ...

  4. 开学JAVA第一次测试

    定义 ScoreInformation 类,其中包括七个私有变量(stunumber,name, mathematicsscore, englishiscore,networkscore, datab ...

  5. git的初步研究1

    工作中很多项目再往git上迁移,所以打算研究下git git是个版本控制系统 理解git工作区.暂存区.版本库的概念 工作区:在电脑中能看到的目录 暂存区:index即索引 即首先add加入暂存区 c ...

  6. twint 安装及使用

    分享这个post是自己方便查,还有中文网界对这个东西介绍太少. 更多的就看github项目twint吧. Installation: git+pip3: git clone https://githu ...

  7. overload(重载) 和 override(重写)的区别

    overload(重载): 重载是基于一个类中,方法名相同,参数列表不同(如果参数列表相同时,参数的类型要不同),与返回值和访问修饰符都无关 如果在面试中就直接说:"同名不同参"  ...

  8. jetSonNano darknet ubdefined reference to 'pow',undefined reference to 'sqrtf'....

    我在用CMakelist编译工程时,遇到了这个一连串基础数学函数找不到的问题,如下图所示: 我当时在工程中明明引用了 #include "math.h"头函数,这是因为你的工程在预 ...

  9. 七夕-心形表白-简单css代码

    今天你要和谁过? 今天你要怎么过?? 今天去哪里吃??? 公司的三连问,对于一些单身狗有点招架不住啊. 在此送上一个薄礼,来安慰下受伤的心灵... 确定是安慰不是连环打击嘛..... 回答:确定! 来 ...

  10. react native 实现TODO APP

    前端有一个todo app非常适合入门练手 react-native 实现todo app:https://github.com/nwgdegitHub/TODO_RN.git