`

python dict按照value 排序

阅读更多
转载自http://hi.baidu.com/jackleehit/blog/item/53da32a72207bafa9052eea1.html

我们知道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排序可以用

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前加“-”表示降序排序)
分享到:
评论

相关推荐

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

    下面我们将详细探讨如何使用`sorted()`函数对字典按key排序和按value排序。 1. **sorted函数按key值对字典排序** 在Python中,字典的键是唯一的,而排序通常指的是对这些键进行排序。我们可以直接使用`sorted()`...

    Python 按字典dict的键排序,并取出相应的键值放于list中的实例

    ### Python 按字典dict的键排序,并取出相应的键值放于list中的实例 在Python编程中,处理字典是一种非常常见的需求。很多时候,我们需要根据字典的键进行排序,并将对应的值存储到一个列表中。这种操作在数据分析、...

    python 对字典按照value进行排序的方法

    然而,有时我们可能需要对字典按照值(value)进行排序,以便进行数据分析或展示。本文将详细介绍三种不同的方法来实现这一功能。 **方法一:使用`sorted()`函数和`lambda`匿名函数** Python的内置函数`sorted()`...

    python 实现让字典的value 成为列表

    键必须是唯一且不可变的,而值可以是任意数据类型,包括列表(list),字典(dict),或者Python中的任何其他数据类型。通常情况下,字典的值不是列表,但如果需要在字典中使用列表来存储多个值,可以这样操作。 当...

    Python实现的字典排序操作示例【按键名key与键值value排序】

    ### 按键值value排序 如果需要按照字典的值进行排序,只需要改变`operator.itemgetter()`中的参数即可: ```python sorted_x = sorted(x.items(), key=operator.itemgetter(1)) ``` 这里,`operator.itemgetter(1...

    Python使用lambda表达式对字典排序操作示例

    按值排序则是按照字典的值(Value)来进行排序。这通常用于需要根据字典中的数值大小进行排序的场景。 **代码示例:** ```python dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 3, 'f': 1, 'g': 7} # 升序排序 ...

    python字典排序实例详解

    本文实例分析了python字典排序的方法。分享给大家供大家参考。具体如下: 1、 准备知识: 在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对: 如:dict = {‘username’:’...

    65.Python之遍历dict共2页.pdf.zip

    Python 3.7之后,字典保持了插入顺序,因此我们可以按照添加到字典中的顺序遍历键值对。但在3.7之前,字典是无序的,遍历顺序不可预测。 5. 使用enumerate()遍历: 当需要对字典进行索引访问时,可以结合`...

    python中dict()的高级用法实现

    在Python编程中,字典(dict)是...以上就是关于Python中字典`dict()`的一些高级用法,包括`defaultdict`、`OrderedDict`以及字典的排序方法。这些技巧可以帮助你更有效地处理复杂的数据结构,提高代码的可读性和效率。

    python 字典(dict)按键和值排序

    在Python编程语言中,字典(dict)是一种非常重要的数据结构,它以键值对的形式存储数据,允许通过键快速查找对应的值。然而,由于字典的无序性,如果需要按照键或值进行排序,就需要采取特定的方法。本文将详细介绍...

    Python实现字典排序、按照list中字典的某个key排序的方法示例

    本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下: 1.给字典按照value按照从大到小排序 排序 dict = {'a':21, 'b':5, 'c':3, 'd':54, 'e':74, 'f':0} new_...

    python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法

    字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,本文讲述了python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法

    Python使用sorted对字典的key或value排序

    Python中的字典(dict)是一种存储键值对(key-value pairs)的数据结构。字典在无序的状态下存储数据,但有时我们需要根据键(key)或值(value)对字典进行排序,这时可以使用Python内置的sorted()函数来完成这个...

    128道Python面试题.pdf

    答:可以使用Python的字符串split()函数来分割字符串,然后使用dict()函数将其转换为字典。 8. 请按alist中元素的age由大到小排序。 答:可以使用Python的sorted()函数来排序列表,使用lambda函数作为排序关键字。 ...

    Python字典排序与取值

    前言 一个非本专业的坑货,让我帮做的一道Python题,还很无chi 的那啥希望我帮写注释,简直不... # 对传入的字典根据value排序(升序) dict_sort=sorted(stock_dict.items(),key=lambda item:item[1]) #排序后得到的di

    Python实现对字典分别按键(key)和值(value)进行排序的方法分析

    ### Python 实现对字典分别按键(key)和值(value)进行排序的方法分析 在Python编程中,字典是一种非常常用的数据结构,它以键值对的形式存储数据。有时候我们需要根据字典中的键或值来进行排序,这对于数据分析或者...

    python核心编程第二版第7章习题答案.pdf

    例如,dict1 = {'a':3,'b':1,'c':2,'d':4},print dict1输出{'a':3,'b':1,'c':2,'d':4},然后dict1value = dict1.values(),dict1value.sort(),for i in dict1value: for key in dict1.keys(): if i == dict1[key]:...

    Python dict的常用方法示例代码

    在Python编程语言中,字典(dict)是一种非常重要的数据结构,它以键值对的形式存储数据。在本文中,我们将深入探讨Python字典的常用方法,并通过实例代码来理解它们的功能。 首先,我们来看一下Python字典的浅拷贝...

Global site tag (gtag.js) - Google Analytics