一 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. 自己写的SqlHelper,提示在调用"Fill"前,SelectCommand 属性尚未初始化.错误

    namespace 操作数据{    class SqlHelper    {        public DataSet SqlTODs(string cmdstring)        {     ...

  2. 解决stanfordnlp一直运行不报错也没有结果

    最近学习stanfordnlp,当运行程序时,发现程序一直没有反应,上网查询说是内存不够,但是本地电脑是8g内存.后来重新下载了所需文件,问题解决.

  3. k3 cloud在站点中新增用户

    1.进去金蝶云企业平台: 网址:https://cloud.kingdee.com/pt/ 2.进入控制台页面,我的产品下面选择添加用户 去cloud平台新增并同步用户注册信息 3.去管理中心更新用户 ...

  4. Zabbix--01 介绍及安装

    目录 一. 监控知识基本概述 1.为什么要使用监控 2.如何进行监控,比如我们需要监控磁盘的使用率 3.流行的监控工具 4.如果去到一家新公司,如何入手监控 二. 单机时代如何监控 三. zabbix ...

  5. python3-获取对象信息

    当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >>> ...

  6. DDD领域驱动设计初探(三):仓储Repository(下)

    前言:上篇介绍了下仓储的代码架构示例以及简单分析了仓储了使用优势.本章还是继续来完善下仓储的设计.上章说了,仓储的最主要作用的分离领域层和具体的技术架构,使得领域层更加专注领域逻辑.那么涉及到具体的实 ...

  7. 转 Nacos集群环境搭建

    转载 送上nacos-server-1.1.3 链接:https://pan.baidu.com/s/11r3OeffHN8AwKLurmmzJmg  密码:wdu2 下载↓↓↓↓ https://g ...

  8. SpringBoot框架(4)-- 类装配及Bean装配监听器

    1.普通方式装配类对象   (1)添加带有@Bean注解的方法  User.java(带@Component注解) package com.demo.boot.bootenable.beanDemo1 ...

  9. Ubuntu 压缩文件命令

    tar -czvf name-of-archive.tar.gz /path/to/directory-or-file -c: Create an archive. -z: Compress the ...

  10. 【GDOI 2016 Day1】第二题 最长公共子串

    分析 首先,可以发现,区间是可以合并滴.把区间按左端点排序,对于两个区间[l1,r1].[l2,r2],当l1<=l2 and r1>=l2,那么,将它们合成一个新的区间[l1,r2].当 ...