当前位置:首页 » 编程语言 » python如何给字典排序

python如何给字典排序

发布时间: 2022-07-23 15:38:45

python字典排序问题

python3.7以上默认是按照你添加字典项目的顺序,而不会给你排序

python3.6以下连插入顺序都是不保证的

Ⅱ python怎么对字典进行排序

python 字典(dict)的特点就是无序的,按照键(key)来提取相应值(value),如果我们需要字典按值排序的话,那可以用下面的方法来进行:

1 下面的是按照value的值从大到小的顺序来排序。

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict

输出的结果:
[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]

下面我们分解下代码
print dic.iteritems() 得到[(键,值)]的列表。
然后用sorted方法,通过key这个参数,指定排序是按照value,也就是第一个元素d[1的值来排序。reverse = True表示是需要翻转的,默认是从小到大,翻转的话,那就是从大到小。

2 对字典按键(key)排序:
dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) d[0]表示字典的键
print dict

Ⅲ python字典排序问题

python字典里根本就没顺序,即便你用键值大小排序,那你也把所有简直放到一个列表里比较下才能找到最值,最终还是在列表里完成的排序。

Ⅳ python 中的字典怎么排序,怎么按照添加的顺序显示

给你看看这个字典 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,所以dic[0]是有语法错误的。并且不可以有重复的键值,所以 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}.现思考如下:如何根据需要可以根据“键”或“键值”进行不同顺序的排序?函数原型:sorted(dic,value,reverse)解释:dic为比较函数,value 为排序的对象(这里指键或键值), reverse:注明升序还是降序,True--降序,False--升序(默认)案例:dic = {'a':1 , 'b':2 , 'c': 3}1.print sorted(dic.iteritems(), key = lambda asd:asd[0] ,reverse = True)#结果:[('c', 3), ('b', 2), ('a', 1)]2.print sorted(dic.iteritems(), key = lambda asd:asd[0] )#结果:[('a', 1), ('b', 2), ('c', 3)] ,默认(升序)3.print sorted(dic.iteritems(), key = lambda asd:asd[1] )#结果:[('a', 1), ('b', 2), ('c', 3)]这里介绍两个函数:1.lambda案例:fuc = lambda x:x+ 2print fuc(3) #结果5,意思对于x ,返回 x + 22.iteritems()案例:dic = {'a':1 , 'b':2 , 'c': 3}print dic.iteritems() # 返回字典键-值对的一个迭代器在函数sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一个参数传给第二个参数“键-键值”,第二个参数取出其中的键(【0】)或键值(【1】)

Ⅳ python中字典的排序

>>> d
{'a': 1, 'world': 11, 'z': 9, 'hello': 10}
>>> k=d.keys()
>>> k.sort()
>>> k
['a', 'hello', 'world', 'z']
>>> t=map(lambda key:(key,d[key]),k)
>>> t
[('a', 1), ('hello', 10), ('world', 11), ('z', 9)]

Ⅵ Python怎么排序字典,当字典里的值都是一个类的实例化对象,键为不同的字符串,根据实例化对象的值x排序

http://www.360doc.cn/article/16740871_381432205.html
很容易,调用函数按值排序就好了。

Ⅶ python 字典排序

字典是无序的,兄弟

你看嘛:

>>>testmap={123:['aaa',5],234:['bbb',2],345:['ccc',3],456:['ddd',1]}
>>>printtestmap
{456:['ddd',1],345:['ccc',3],234:['bbb',2],123:['aaa',5]}
>>>testmap={456:['ddd',1],234:['bbb',2],345:['ccc',3],123:['aaa',5]}
>>>printtestmap
{456:['ddd',1],345:['ccc',3],234:['bbb',2],123:['aaa',5]}
>>>

Ⅷ Python字典如何排序啊,给例子谢谢

在Python2.7.x版本中, collections类增加了OrderedDict, 用法如下:


在Python2.7.x版本中, collections类增加了OrderedDict, 用法如下:

pywugw@pywugw-laptop:~$ /usr/local/bin/python2.7
Python 2.7b1 (r27b1:79927, Apr 26 2010, 11:44:19)
[GCC 4.4.3] on linux2
Type "help", "right", "credits" or "license" for more information.
>>> from collections import OrderedDict
>>> d = {'banana': 3, 'apple':4, 'pear': 1, 'orange': 2}

#按key排序
>>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))
OrderedDict([('apple', 4), ('banana', 3), ('orange', 2), ('pear', 1)])

#按value排序
>>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))
OrderedDict([('pear', 1), ('orange', 2), ('banana', 3), ('apple', 4)])
#按key的长度排序
>>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))
OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])

Ⅸ 怎么不用函数对字典里的元素排序python

比较,如果不使用 函数 就只能是列表中的每个字典本 回答 1 已采纳 from ... Python 排序 函数 完美体现了 Python 语言的简洁性。

热点内容
requestdatapython 发布:2025-01-31 08:02:01 浏览:43
javades加密工具 发布:2025-01-31 07:54:04 浏览:243
电话如何配置ip 发布:2025-01-31 07:48:48 浏览:299
2021奔驰e300l哪个配置性价比高 发布:2025-01-31 07:47:14 浏览:655
sqlserver2008光盘 发布:2025-01-31 07:32:13 浏览:577
sql查询小时 发布:2025-01-31 07:23:00 浏览:422
新车鉴别时怎么查看汽车配置 发布:2025-01-31 07:19:37 浏览:880
linux驱动程序开发 发布:2025-01-31 06:56:03 浏览:770
nlms算法 发布:2025-01-31 06:55:56 浏览:899
结束服务器怎么操作 发布:2025-01-31 06:54:17 浏览:393