GVKun编程网logo

在python中对字典键进行排序(在python中对字典键进行排序)

3

对于想了解在python中对字典键进行排序的读者,本文将提供新的信息,我们将详细介绍在python中对字典键进行排序,并且为您提供关于Python-如何根据字典的值对字典列表进行排序?、python中

对于想了解在python中对字典键进行排序的读者,本文将提供新的信息,我们将详细介绍在python中对字典键进行排序,并且为您提供关于Python-如何根据字典的值对字典列表进行排序?、python中字典是无序的,但为什么可以使用sorted对字典进行排序、python如何对字典进行排序、python对字典进行排序实例的有价值信息。

本文目录一览:

在python中对字典键进行排序(在python中对字典键进行排序)

在python中对字典键进行排序(在python中对字典键进行排序)

我有一个字典,其中每个键都引用一个int值。根据值将键排序到列表中的最佳方法是什么?

答案1

小编典典

mydict = {‘a’:1,’b’:3,’c’:2}
>>> sorted(mydict, key=lambda key: mydict[key])
[‘a’, ‘c’, ‘b’]

Python-如何根据字典的值对字典列表进行排序?

Python-如何根据字典的值对字典列表进行排序?

我有一个字典列表,希望每个项目都按特定的属性值排序。

考虑下面的数组,

[{''name'':''Homer'', ''age'':39}, {''name'':''Bart'', ''age'':10}]

当排序name,应该成为

[{''name'':''Bart'', ''age'':10}, {''name'':''Homer'', ''age'':39}]

答案1

小编典典

使用密钥而不是cmp看起来更干净:

newlist = sorted(list_to_be_sorted, key=lambda k: k[''name'']) 

或如JFSebastian和其他人所建议的,

from operator import itemgetternewlist = sorted(list_to_be_sorted, key=itemgetter(''name'')) 

为了完整性(如fitzgeraldsteele的评论中指出的那样),请添加reverse=True降序排列

newlist = sorted(l, key=itemgetter(''name''), reverse=True)

python中字典是无序的,但为什么可以使用sorted对字典进行排序

python中字典是无序的,但为什么可以使用sorted对字典进行排序

prices = {
    ''ACME'': 45.23,
    ''AAPL'': 612.78,
    ''IBM'': 205.55,
    ''HPQ'': 37.20,
    ''FB'': 10.75
}
a = dict(sorted(prices.items(), key=lambda t: t[1]))
print(a)

>>>{''FB'': 10.75, ''HPQ'': 37.2, ''ACME'': 45.23, ''IBM'': 205.55, ''AAPL'': 612.78}

 

python如何对字典进行排序

python如何对字典进行排序

python如何对字典排序?

对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我们用的真实的字典一样,按照abcd字母的顺序排列,并且本质上各自没有先后关系,是一个哈希表的结构。

但实际应用中我们确实有这种排序的“需求”-----按照values的值“排序”输出,或者按照别的奇怪的顺序进行输出,我们只需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两位子list或者子tuple再输出,就可以达到我们的目的:

举例如下:

d1 = {'a':1,'c':4,'b':2,'d':3}
d2 = {2:1,3:4,4:2,1:5,5:3}
d3 = {'01': {'name': '电脑', 'price': 3000}, '02': {'name': '鼠标', 'price': 50}, '03': {'name': '洗发水',
'price': 30}, '04': {'name': '微波炉', 'price': 998}, '05': {'name': '手机', 'price': 1500}}

相关推荐:《Python视频教程》

需求一:按照字典的key/value进行排序输出

方法一:使用sorted函数

sorted(d1.items(),key = lambda x:x[0],reverse = True)  # reverse = True:是递减顺序输出,不写默认是升序输出
key = lambda x:x[0]表示在d1.items()的输出内容中的第一列作为排序依据,如果是按照value排序则改成x[1]即可。

d1/d2字典比较简单,都好理解,下面来看看如何对d3这种嵌套类型的字典进行排序:

sorted(d.items(),key=lambda x:x[1]['price'])

方法二:使用oprator内建模块

import operator
sorted(d1.items(),key = operator.itemgetter(1))

此模块目前实验对于d3这种数据结构尚未成功。

python对字典进行排序实例

python对字典进行排序实例

本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。

具体实现方法如下:

import itertools 
thekeys = ['b','a','c'] 
thevalues = ['bbb','aaa','cccc'] 
 
d = dict(itertools.izip(thekeys,thevalues)) #创建字典 
print d 
 
def sortedDictValue(adict): 
  keys = adict.keys() 
  keys.sort() 
  return map(adict.get,keys) 
 
print sortedDictValue(d)
import itertools
thekeys = ['b','c']
thevalues = ['bbb','cccc']
def sortedDictValue(adict): #自定义的排序函数,先取得字典的keys(),然后对keys进行排序,最后根据排序好的keys取字典的值 
  keys = adict.keys() 
  keys.sort() 
  return map(adict.get,keys)#只有这里不同,这里调用内置的map函数,对每个keys中的项目,调用adict.get函数,返回一个列表  
 
print sortedDictValue(d) 
#打印出相同的结果 

程序运行结果为:

{'a': 'aaa','c': 'cccc','b': 'bbb'}
['aaa','bbb','cccc']
['aaa','cccc']

希望本文所述对大家Python程序设计的学习有所帮助。

今天关于在python中对字典键进行排序在python中对字典键进行排序的讲解已经结束,谢谢您的阅读,如果想了解更多关于Python-如何根据字典的值对字典列表进行排序?、python中字典是无序的,但为什么可以使用sorted对字典进行排序、python如何对字典进行排序、python对字典进行排序实例的相关知识,请在本站搜索。

本文标签: