详解python的sorted函数对字典按key排序和按value排序

1.sorted函数按key值对字典排序

先来基本介绍一下sorted函数,sorted(iterable,key,reverse),sorted一共有iterable,key,reverse这三个参数。

其中iterable表示可以迭代的对象,例如可以是 dict.items()、dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺 序,reverse=true则是倒序,reverse=false时则是顺序,默认时reverse=false。

要按key值对字典排序,则可以使用如下语句:

直接使用sorted(d.keys())就能按key值对字典排序,这里是按照顺序对key值排序的,如果想按照倒序排序的话,则只要将reverse置为true即可。

2.sorted函数按value值对字典排序

要对字典的value排序则需要用到key参数,在这里主要提供一种使用lambda表达式的方法,如下:

这里的d.items()实际上是将d转换为可迭代对象,迭代对象的元素为 (‘lilee',25)、(‘wangyan',21)、(‘liqun',32)、(‘lidaming',19),items()方法将字典的元素 转化为了元组,而这里key参数对应的lambda表达式的意思则是选取元组中的第二个元素作为比较参数(如果写作key=lambda item:item[0]的话则是选取第一个元素作为比较对象,也就是key值作为比较对象。lambdax:y中x表示输出参数,y表示lambda 函数的返回值),所以采用这种方法可以对字典的value进行排序。注意排序后的返回值是一个list,而原字典中的名值对被转换为了list中的元组。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python元组和字典的内建函数实例详解

    本文实例讲述了python元祖和字典的内建函数.分享给大家供大家参考,具体如下: 元组Tuple 元组是序列类型一种,也是不可变类型数据结构,对元组修改后会生成一个新的元组.所以Tuple对象并没有太多的内置方法. count() 查询一个元素在Tuple中的数量 count(-) T.count(value) -> integer – return number of occurrences of value 返回一个value在Tuple出现的次数,即个数. In [5]: tup = ('

  • Python字典,函数,全局变量代码解析

    字典 dict1 = {'name':'han','age':18,'class':'first'} print(dict1.keys()) #打印所有的key值 print(dict1.values()) #打印所有的values值 print("dict1['name']:",dict1['name']) #打印name相对应的value值 print(dict1.get('name')) #通过字典的get方法得到name相对应的value值 dict1['age']=28 #字

  • Python常见字典内建函数用法示例

    本文实例讲述了Python常见字典内建函数用法.分享给大家供大家参考,具体如下: 1.len(mapping)        返回映射的长度(键-值对的个数) 2.hash(obj)              返回obj的哈希值 >>> myDict = {'name':'earth', 'port':'80'} >>> len(myDict) 2 >>> hash('name') 15034981 3.dict.copy()            返

  • python中的字典操作及字典函数

    字典 dict_fruit = {'apple':'苹果','banana':'香蕉','cherry':'樱桃','avocado':'牛油果','watermelon':'西瓜'} 字典的操作 #字典的遍历方式 #默认遍历(遍历key) for value in dict_fruit: print(value) ''''' 遍历出的值: watermelon apple cherry avocado banana ''' #使用key遍历(与默认遍历一样) for key in dict_f

  • Python 把序列转换为元组的函数tuple方法

    tuple函数功能和list功能很相似,以序列为参数并把它转换为元组 >>> tuple([1,2,3]) (1, 2, 3) >>> tuple('abcd') ('a', 'b', 'c', 'd') 以上这篇Python 把序列转换为元组的函数tuple方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Python字符串、元组、列表、字典互相转换的方法

    废话不多说了,直接给大家贴代码了,代码写的不好还去各位大侠见谅. #-*-coding:utf-8-*- #1.字典 dict = {'name': 'Zara', 'age': 7, 'class': 'First'} #字典转为字符串,返回:<type 'str'> {'age': 7, 'name': 'Zara', 'class': 'First'} print type(str(dict)), str(dict) #字典可以转为元组,返回:('age', 'name', 'class

  • Python中字典创建、遍历、添加等实用操作技巧合集

    字段是Python是字典中唯一的键-值类型,是Python中非常重要的数据结构,因其用哈希的方式存储数据,其复杂度为O(1),速度非常快.下面列出字典的常用的用途. 一.字典中常见方法列表 复制代码 代码如下: #方法                                  #描述  -------------------------------------------------------------------------------------------------  D.c

  • Python从函数参数类型引出元组实例分析

    本文实例讲述了Python从函数参数类型引出元组.分享给大家供大家参考,具体如下: 自定义函数:特殊参数 def show(name="jack", *info): print(name) #jack print(info) #(22, '男') show("jack",22,"男") 可以看出22,"男"全部归为了函数的第二个参数*info. 我们可以看到打印这个info参数结果是:小括号包起来的形式. 函数的特殊参数升级

  • Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型.一.创建字典字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: 复制代码 代码如下: dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'} 也可如此创建字典: 复制代码 代码如下: dict1 = { 'abc': 456 };dict2 = { 'abc': 123, 98.6: 37 }; 注意:每个键与值用冒号隔开

  • Python入门教程5. 字典基本操作【定义、运算、常用函数】 原创

    前面简单介绍了Python元组基本操作,这里再来简单讲述一下Python字典相关操作 >>> dir(dict) #查看字段dict的属性和方法 ['__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__',

  • python3 字符串/列表/元组(str/list/tuple)相互转换方法及join()函数的使用

    在抓取网络数据的时候,有时会用正则对结构化的数据进行提取,比如 href="https://www.1234.com"等.python的re模块的findall()函数会返回一个所有匹配到的内容的列表,在将数据存入数据库时,列表数据类型是不被允许的,而是需要将其转换为元组形式.下面看下,str/list/tuple三者之间怎么相互转换. class forDatas: def __init__(self): pass def str_list_tuple(self): s = 'abc

随机推荐