程序中的解决办法:
sorted(d.items(),key=lambda x:x[1])
links:
http://blog.sina.com.cn/s/blog_85f5590f0100xutc.html
sorted()是内建函数
help(sorted)
Help on built-in function sorted in module __builtin__:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
iterable:是可迭代类型;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个属性和函数进行作为关键字,有默认值,迭代集合中的一项
比如此例字典的items()返回的是两项('abcd 192.168.6.3 24',2) 我们使用lambda x:x[1] 就表示按照 字典的值排序 如果字典的值为列表 ('abcd 192.168.6.3 24',[2,3,4]) 我们可以使用lambda x:x[1][1]表示按值的第二项排序即[2,3,4][1]=3 ;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
links:http://blog.csdn.net/vivilorne/article/details/3911079
1、
准备知识:
在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对:
如:dict = {‘username’:‘password’,‘database’:‘master’},其中‘username’和‘database’是key,而‘password’和‘master’是value,可以通过d[
key
]获得对应值value的引用,但是不能通过value得到key。
对于dictionnary,需知道以下几点注意事项:
a、
dictionary 的 key 是大小写敏感的
;
b、
一个dictionary中不能有重复的 key
;
c、
d
ictionary
是无序的,没有元素顺序的概念,
它们只是序偶的简单排列
。
2、
字典排序实现:
参见cookbook,
Recipe 5.1. Sorting a Dictionary
讲述了字典排序的方法;
前面已说明d
ictionary
本身没有顺序概念,但是总是在某些时候,但是我们常常需要对字典进行排序,怎么做呢?下面告诉你:
方法1:
最简单的方法,
排列元素(key/value对)
,
然后挑出值
。
字典的
items
方法,会返回一个元组的列表,其中每个元组都包含一对项目——键与对应的值
。此时排序可以
sort()方法
。
def
sortedDictValues1(adict):
items = adict.items()
items.sort()
return
[value
for
key, value
in
items]
方法2:
使用排列键
(key)
的方式,挑出值,速度比方法1快。
字典对象的keys()方法返回字典中所有键值组成的列表,次序是随机的。需要排序时只要对返回的键值列表使用sort()方法
。
def
sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return
[adict[key]
for
key
in
keys]
方法3:
通过映射的方法去更有效的执行最后一步
def
sortedDictValues1(adict):
keys = adict.keys()
keys.sort()
return
map(
adict.get,keys)
方法4:
对字典按键排序,用元组列表的形式返回,同时使用lambda函数来进行;
sorted
(iterable
[
, cmp
[
, key
[
, reverse
]]]
cmp和key一般使用lambda
如:
>>> d={"ok":1,"no":2}
对字典按键排序,用元组列表的形式返回
>>> sorted(d.items, key=lambda d:d[0])
[('no', 2), ('ok', 1)]
对字典按值排序,用元组列表的形式返回
>>> sorted(d.items, key=lambda d:d[1])
[('ok', 1), ('no', 2)]
对字典元素的排序虽然有好多种方法,这里也没有总结全,但如果对程序效率没有太高要求,选择喜欢的用就好。
分享到:
相关推荐
本文实例分析了python字典排序的方法。分享给大家供大家参考。具体如下: 1、 准备知识: 在python里,字典dictionary是内置的数据类型,是个无序的存储结构,每一元素是key-value对: 如:dict = {‘username’:’...
前言 一个非本专业的坑货,让我帮做的一道Python题,还很无chi 的那啥希望我帮写注释,简直不... # 对传入的字典根据value排序(升序) dict_sort=sorted(stock_dict.items(),key=lambda item:item[1]) #排序后得到的di
Python字典是一种无序的数据结构,它以键值对的形式存储数据。在Python 3.x中,字典的插入顺序在3.7版本以后被保证,但这并不意味着字典内部的元素可以像...在处理字典排序时,理解这些基本概念和技巧是非常重要的。
很多人认为python中的字典是无序的,因为它是按照hash来存储的,但是python中有个模块collections(英文,收集、集合),里面自带了一个子类 OrderedDict,实现了对字典对象中元素的排序。请看下面的实例: import ...
使用环境:需要先安装PyCharm(请自己百度下载安装),以及然后官网上下载Python 2.7版本,以及Python 3.7版本后,安装在自己的电脑上。 使用步骤: ...目的:帮助理解字典对象排序在Python中的具体使用。
- 此版本还引入了对Python字典排序的支持,增强了正则表达式引擎,并修复了一些已知的bug。 2. **MSI安装程序**: - MSI(Microsoft Installer)是一种Windows平台上的软件安装和配置服务,能够自动处理软件安装...
"Python练习题"这个资源包含了1到11个单元的练习题目,旨在帮助学习者巩固和深化对Python基础概念的理解,特别是元组、列表、字典以及类这四个核心数据结构的运用。下面我们将详细探讨这些知识点。 **元组(Tuples)*...
- `python字典排序.docx` 关注的是Python字典的排序,因为字典本身是无序的,但可以通过`sorted()`或`items()`方法获取排序后的键或键值对。 8. **数据结构与算法的扩展**: - `python数据结构与算法.docx` 可能...
本文实例讲述了Python3实现对列表按元组指定列进行排序的方法。分享给大家供大家参考,具体如下: Python版本: python3.+ 运行环境: Mac OS IDE: pycharm Python内建的排序方法 1 排序方法介绍 Python中有2个...
在Python编程语言中,字典是一种非常重要的数据结构,它以键值对的形式存储数据。...希望以上的讲解能帮助你更好地理解和使用`sorted()`函数,如果你有更多关于Python字典排序的问题,欢迎继续深入学习和实践。
本文实例讲述了Python实现字典排序、按照list中字典的某个key排序的方法。分享给大家供大家参考,具体如下: 1.给字典按照value按照从大到小排序 排序 dict = {'a':21, 'b':5, 'c':3, 'd':54, 'e':74, 'f':0} new_...
python字典排序函数sorted,字符串连接join,格式化输出format函数,包括 数字的类型,模式
在Python编程语言中,"字典序"是一个与字典数据结构相关的概念,尤其是在讨论排序、比较或遍历字典时。..."python字典序.docx"文档很可能会深入探讨这些主题,包括字典的实现原理、排序方法以及在不同场景下的应用。
至于描述中的内容,虽然提到了iOS开发中的手机号码验证和验证码倒计时问题,但这并不是Python字典排序的话题。如果你需要了解这部分内容,它们涉及到Objective-C的正则表达式验证和NSTimer的使用。对于手机号码的...
本文实例讲述了python对字典进行排序的方法,是非常实用的技巧。分享给大家供大家参考。 具体实现方法如下: import itertools thekeys = ['b','a','c'] thevalues = ['bbb','aaa','cccc'] d = dict(itertools....
d_order=sorted(d.items(),key=lambda x:x[1],reverse=False) # 按字典集合中,每一个元组的第二个元素排列。 # x相当于字典集合中遍历出来的一个元组。 print(d_order) # 得到: [('a', 1), ('b', 2
### Python使用Lambda表达式对字典排序操作详解 在Python编程中,经常需要对字典进行排序处理。本文将深入探讨如何使用`lambda`表达式来实现字典的按键排序、按值排序以及多条件排序。 #### Lambda表达式简介 ...
综上所述,本文介绍了如何对Python字典进行值排序并取出值最大的前n个键值对的方法。我们学习了字典的基本操作、`sorted()`函数、`set()`集合、`lambda`函数的使用,以及如何结合内置函数`min()`和`max()`来实现字典...