iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python dict按照value 排
  • 414
分享到

python dict按照value 排

pythondict 2023-01-31 05:01:23 414人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

我们知道python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可以实现对dict


我们知道python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可以实现对dictionary的内容进行排序输出呢?下面摘取了 一些精彩的解决办法。

#最简单的方法,这个是按照key值排序:
def sortedDictValues1(adict):
items = adict.items()
items.sort()
return [value for key, value in items]

#又一个按照key值排序,貌似比上一个速度要快点
def sortedDictValues2(adict):
keys = adict.keys()
keys.sort()
return [dict[key] for key in keys]

#还是按key值排序,据说更快。。。而且当key为tuple的时候照样适用
def sortedDictValues3(adict):
keys = adict.keys()
keys.sort()
return map(adict.get, keys)

#一行语句搞定:
[(k,di[k]) for k in sorted(di.keys())]

#来一个根据value排序的,先把item的key和value交换位置放入一个list中,再根据list每个元素的第一个值,即原来的value值,排序:
def sort_by_value(d):
items=d.items()
backitems=[[v[1],v[0]] for v in items]
backitems.sort()
return [ backitems[i][1] for i in range(0,len(backitems))]

#还是一行搞定:
[ v for v in sorted(di.values())]

#用lambda表达式来排序,更灵活:
sorted(d.items(), lambda x, y: cmp(x[1], y[1])), 或反序:
sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True)

#用sorted函数的key= 参数排序:
# 按照key进行排序
print sorted(dict1.items(), key=lambda d: d[0])
# 按照value进行排序 
print sorted(dict1.items(), key=lambda d: d[1])

下面给出Python内置sorted函数的帮助文档:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

看了上面这么多种对dictionary排序的方法,其实它们的核心思想都一样,即把dictionary中的元素分离出来放到一个list中,对list排序,从而间接实现对dictionary的排序。这个“元素”可以是key,value或者item。

#################################################################################

一上转


按照value排序可以用

l = sorted(d.items(), key=lambda d:d[1])

若版本低不支持sorted

将key,value 以tuple一起放在一个list中

l = []

l.append((akey,avalue))...

用sort()

l.sort(lambda a,b :cmp(a[1],b[1]))(cmp前加“-”表示降序排序)


转自 :Http://hi.baidu.com/jackleehit/item/348a312f4c4c68f051fd876e

--结束END--

本文标题: python dict按照value 排

本文链接: https://www.lsjlt.com/news/188118.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python dict按照value 排
    我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可以实现对dict...
    99+
    2023-01-31
    python dict
  • Golang中Map怎么按照Value大小排序
    这篇文章主要介绍“Golang中Map怎么按照Value大小排序”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Golang中Map怎么按照Value大小排序”文章能帮助大家解决问题。起因最近项目中有...
    99+
    2023-06-29
  • Golang中Map按照Value大小排序的方法实例
    目录起因探索实现第一步第二步第三步总结总结Golang中的 map 默认是 无序的 。 起因 最近项目中有这样一个需求: 根据用户当前的坐标点,获取该用户附近的预设城市名称。 这里有...
    99+
    2024-04-02
  • python dict sorted 排
    python dict sorted 排序 转载自http://hi.baidu.com/jackleehit/blog/item/53da32a72207bafa9052eea1.html 我们知道Python的内置dictionary...
    99+
    2023-01-31
    python dict sorted
  • 【python】【pandas】dataframe按照列名给列排序
    下面介绍三种方法,给dataframe列排序: 1、使用sort_values()方法,并指定axis=1参数。 import pandas as pd# 创建一个示例DataFramedata = {'A': [3, 1, 4], ...
    99+
    2023-09-03
    python pandas 开发语言 数据分析
  • Python对Dict排序
    对下面的Dict: aps = {} for key in T.keys(): ap = average_precision(T[key], P[key]) aps[key] = ap ...
    99+
    2023-01-31
    Python Dict
  • Map按单个或多个Value排序当Value相同时按Key排序
    Map可以先按照value进行排序,然后按照key进行排序。 或者先按照key进行排序,然后按照value进行排序,这都是可以的。 并且,大家可以制定自己的排序规则。按单个value...
    99+
    2023-02-03
    Map按单个或多个Value排序 Map按单个或多个Value排序 Value相同时按Key排序
  • Map按单个或多个Value排序,当Value相同时按Key排序
    Map可以先按照value进行排序,然后按照key进行排序。 或者先按照key进行排序,然后按照value进行排序,这都是可以的。 并且,大家可以制定自己的排序规则。 按单个value排序: import java.util.Collect...
    99+
    2023-08-17
    java jvm 开发语言
  • python dict的list排序
    对于简单的list排序,直接调用内建函数就可以了,但是对于dict的list排序就没有那么直接了,不过,还是有很简洁的办法的,如: >>> ls1 = [{'a' : 1, 'b' : 12}, {'a' : -1, '...
    99+
    2023-01-31
    python dict list
  • mysql怎么按照性别排序
    mysql中实现根据性别进行排序的方法首先,在命令行中启动MySQL服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码登录到MySQL;mysql -u root -p登录到MySQ...
    99+
    2024-04-02
  • python怎么按照频率将数组升序排序
    这篇文章主要讲解了“python怎么按照频率将数组升序排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么按照频率将数组升序排序”吧!给你一个...
    99+
    2024-04-02
  • pandas实现按照多列排序-ascending
    目录pandas按照多列排序ascendingpandas排序、排名函数的使用排序排名pandas按照多列排序ascending 代码示例: import pandas as pd ...
    99+
    2024-04-02
  • PHP对数组按照键名排序
    这篇文章将为大家详细讲解有关PHP对数组按照键名排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP中根据键名对数组排序 简介 在PHP中,数组是一个数据结构,用于存储键值对。有时,需要根据键名对数组...
    99+
    2024-04-02
  • mysql中如何按照日期排序
    mysql中实现按日期排序的方法表结构如下:+---+------------+|id | addtime |+---+------------+| 5 |2020-03-06 |+---+------------+| 6 |2020-03...
    99+
    2024-04-02
  • oracle怎么按照某一列排序
    要按照某一列排序,可以使用ORDER BY子句。例如,如果要按照一个名为“column_name”的列进行升序排序,可以这样写: S...
    99+
    2024-04-09
    oracle
  • excel排序怎么按照自定义序列排序
    这篇文章主要介绍“excel排序怎么按照自定义序列排序”,在日常操作中,相信很多人在excel排序怎么按照自定义序列排序问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”excel排序怎么按照自定义序列排序”的疑...
    99+
    2023-07-02
  • java 中List按照date排序的实现
    java 中List按照date排序的实现今天开发需要对一个list进行排序,要求对里面的date类型的属性进行排序,不多说,直接上代码。Leavecalendar这个bean类里面有属性date;private Date Date; //...
    99+
    2023-05-31
    java list date
  • 【Python】【DataFrame】如何按照日期列统计数据列(按照日期或者按照年月)
    一、当使用DataFrame进行数据分析时,可以使用日期列来进行统计和聚合操作。按照日期列统计数据列: import pandas as pd# 创建示例DataFramedata = { '日期': ['2023-06-01', '...
    99+
    2023-09-12
    python 开发语言 数据分析 pandas
  • python如何按照字典的值的大小进行排序
    这篇文章主要介绍了python如何按照字典的值的大小进行排序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何按照字典的值的大小进行排序我们知道,字典的本质是哈希表,本身是无...
    99+
    2023-06-27
  • mysql中如何按照汉字拼音排序
    mysql中实现按照汉字的拼音进行排序的方法首先,在命令行中启动MySQL服务;service mysql start  MySQL服务启动后,在命令行中输入mysql的用户名和密码登录到MySQL;mysql -u root -p登录到M...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作