看到排序,就不禁想起python中的sort和sorted

sort是列表中的方法,用于对列表进行排序(改变的是原列表,不返回新列表)

用法: list.sort(key=None,reverse=True) ,参数中reverse默认是False,表示升序,如果设置成True就是降序(注意要首字母要大写)

sorted是Python的内建函数,用于对可迭代对象进行排序,返回一个新的迭代对象

用法:sorted(iterable,key=None,reverse=False),参数中iterable是迭代对象,key是用来比较的元素(比如字典可以选择按键或值进行排序),reverse默认False升序,可设置成True降序(注意要首字母要大写)

对列表进行排序既可以用sort也可以用sorted

from random import randint
# sort只能对列表使用,sorted用于所有可迭代对象
# randint是random模块下的一个函数,可以生成范围内的一个随机数
list = [randint(1,100) for i in range(10)]
print('列表排序前:',list ,'地址为:',id(list))
list1 = list.sort(reverse=True)
print('用sort降序排序后返回:',list1,'此时原始列表为:',list )
list2 = sorted(list,reverse=True)
print('用sorted降序排序后返回:',list2 ,'地址为:',id(list2))

用sort和sorted对列表进行排序

运行结果为:

可以看出用sort返回值是None,用sorted则会返回一个新的列表。如果不用保存原始列表的话,用sort方法节省空间、效率会高一些。

接下来用sorted对字典进行排序(sort只能用于对列表排序)

按键排序:

sorted(dict.items(),key=lambda dict:dict[0],reverse=False)返回的是列表,列表内是根据键(key)排好序的元祖

sorted(dict,key=lambda dict:dict[0],reverse=False)返回的是列表,列表内是排好序的键(key)

sorted(dict.keys(),reverse=False)返回的是列表,列表内是排好序的键(key)

按值排序:

sorted(dict.items(),key=lambda dict:dict[1],reverse=False)返回的是列表,列表内是根据值(values)排好序的元祖

sorted(dict.values(),reverse=False)返回的是列表,列表内是排好序的值(values)

关于lambda匿名函数,可以看https://www.cnblogs.com/xiaocaiqa/p/12469583.html

如果需要返回一个字典,那么就要对返回的列表进行处理:

python中字典按键、值进行排序的更多相关文章

  1. python根据字典的值进行排序:

    有一个列表嵌套字典:[{"a": 5}, {"b": 4}, {"c": 1},{"e": 2}, {"d&q ...

  2. python中字典排序,列表中的字典排序

    python中字典排序,列表中的字典排序 一.使用python模块:operator import operator #首先要导入模块operator x = {1:2, 3:4, 4:3, 2:1, ...

  3. python中字典的循环遍历的两种方式

    开发中经常会用到对于字典.列表等数据的循环遍历,但是python中对于字典的遍历对于很多初学者来讲非常陌生,今天就来讲一下python中字典的循环遍历的两种方式. 注意: python2和python ...

  4. Python中字典和集合

    Python中字典和集合 映射类型: 表示一个任意对象的集合,且可以通过另一个几乎是任意键值的集合进行索引 与序列不同,映射是无序的,通过键进行索引 任何不可变对象都可用作字典的键,如字符串.数字.元 ...

  5. PHP如何根据数组中的键值进行排序

    主要是使用PHP的排序函数,asort()和arsort(). 为了减少代码的耦合性,我们将根据数组中的键值进行排序封装成一个函数 <?php $array = array( array(), ...

  6. python中字典的陷阱

    把字典与列表组合,如 i=20 s=[]#定义一个空列表 b={'d':i}#定义一个字典 while i>0: i=i-1 b['d']=i#更新字典的值 s.append(b) print( ...

  7. python中字典排序

    一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a ...

  8. 浅谈python中字典append 到list 后值的改变问题

    看一个例子 ? 1 2 3 4 d={'test':1} d_test=d d_test['test']=2 print d 如果你在命令行实践的话,会发现你改动的是d_test ,但是d 也跟着改变 ...

  9. Python - 字典按值(value)排序

    字典安值排序是一个伪命题. 字典本身是不能被排序的, 已经依照关键字(key)排序, 可是列表(list)和元组(tuple)能够排序, 所以字典须要转换列表后排序. 如 import operato ...

随机推荐

  1. 使用AVPro Video在Unity中播放开场视频(CG)笔记

    游戏中的开场CG(播放视频),采用的插件为AVPro Video1.x(和W的版本一致),Unity版本为2018.4.0f1 Asset Store:AVPro Video - Core Andro ...

  2. 【Java】@Scheduled常用的注解的使用

    @Scheduled注解的使用 cron cron这个参数必须要接受一个cron表达式 cron表达式是个啥呢,Cron表达式是一个具有时间含义的字符串,字符串以5个空格隔开,分为6个域,格式为 X ...

  3. IDEA永久使用!!(很全)

    IDEA虽然好用,但是下载后只能试用30天,烦恼呀!所以今天就带来IDEA的激活版来帮助大家摆脱30天的苦恼! 准备工作: 破解所需要的软件和jar都在网盘里,需要的自行下载,在这里idea安装就不带 ...

  4. Java之Cookie与Session

    Cookie.Session Cookie:服务端生成Cookie发给客户端用于认证 Session:服务端进行进行登记,每人有不同的Session session与cookie的区别 Cookie: ...

  5. CVE-2021-1732 Windows 本地权限提升漏洞 EXP 下载

    漏洞简介 2021年2月10日,微软修复了一个Windows本地权限提升漏洞,漏洞编号为 CVE-2021-1732 ,本地攻击者可以利用该漏洞将权限提升为 System ,目前EXP已公开. 影响范 ...

  6. Java中Lambda表达式基础及使用详解

    概述 Lambda 是JDK 8 的重要新特性.它允许把函数作为一个方法的参数(函数作为参数传递进方法中),使用 Lambda 表达式可以使代码变的更加简洁紧凑,使Java代码更加优雅. 标准格式 三 ...

  7. docker 实现redis主从复制

    目录 一.概览 二.安装master库 三.安装slave从库 四.错误分析 五.参考网址 一.概览 主库:192.168.3.13:6380 从库一:192.168.3.14:6381 从库二:19 ...

  8. @Profile-根据不同环境注入bean

    介绍 @Profile元注解是在不同的生产环境中,@Bean创建的SpringBean根据spring.profiles.active指定的环境不同创建不同环境的bean对象 一.@Profile元注 ...

  9. WPF---数据模板(一)

    一.场景模拟 假设我们现在有如下需求: 我们需要在ListBox中的每个Item中显示某个成员的姓名.年龄以及喜欢的颜色,点击Item的时候,会在右边显示详细信息,同时也想让ListBox的样式变得好 ...

  10. pyspark启动与简单使用----本地模式(local)----shell

    在Spark中采用本地模式启动pyspark的命令主要包含以下参数:–master:这个参数表示当前的pyspark要连接到哪个master,如果是local[*],就是使用本地模式启动pyspark ...