python_如何对字典进行排序?】的更多相关文章

案例: 某班英语成绩以字典的形式存储为: {'lili':78, 'jin':50, 'liming': 30, ......} 依据成绩高低,进行学生成绩排名 如何对字典排序? 方法1: #!/usr/bin/python3 from random import randint def sort_dict(data): # 获得字典的key keys = data.keys() # 获得字典的value valus = data.values() # 按(value,keys)进行zip拼接…
http://developer.51cto.com/art/201003/186006.htm Python编程语言是一款比较容易学习的计算机通用型语言.对于初学者来说,首先需要掌握的就是其中的一些基础应用.比如今天我们为大家介绍的Python字典的相关操作,就是我们在学习过程中需要熟练掌握的技巧. Python字典(Dictionary)是一种映射结构的数据类型,由无序的“键-值对”组成.字典的键必须是不可改变的类型,如:字符串,数字,tuple:值可以为任何Python数据类型. 1.新建…
如何根据字典中值的大小对字典项排序 问题举例 某班英语成绩以字典形式存储,如何根据成绩高低,计算学生成绩排名 { “tom”:80, "lily":88, "marton":99, } 分析:字典中的值无法用sorted函数进行排序,我们可以将字典各项转换成元组,使用sorted函数进行排序 元组元素比较规则,先比较第一个元素,若相等则比较第二个,以此类推. 将字典中的各项转换成元组,使用内置函数sorted进行排序 (1)列表解析 from random impo…
>>> d{'a': 5, 'c': 3, 'b': 4} >>> d.items()[('a', 5), ('c', 3), ('b', 4)] 字典的元素是成键值对出现的,字典的排序可用sorted,用关键字key指定排序依据的值--key或者value 按照值排序: #把d.items()所对应的列表的每个元祖的第二个元素(value)传到lambda函数进行排序>>> s=sorted(d.items(),key=lambda x:x[1])&…
operator.itemgetter函数 operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),要注意,operator.itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值. eg:  students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10)]  sorted(students, key=lambda s…
问题起源 json对象a,b a = '{"ROAD": [{"id": 123}, {"name": "no1"}]}' b = '{"ROAD": [{"name": "no1"}, {"id": 123}]}' 特点:a,b对应的Python的对象中键对应的键值——列表中包含着相同的字典元素,但是唯一不同的是顺序不同.如果忽略顺序,如何判断两…
## 字典列表排序 students = [ {"name": "Stanley", "age": 22, "score": 92}, {"name": "Peter", "age": 19, "score": 99}, {"name": "Well", "age": 23, "…
字典NSDictionary一般的遍历方法都是: NSArray* arr = [yourdictonary allKeys]; for(NSString* str in arr) { NSLog("%@", [yourdictonary objectForKey:str]); } 但是如果就这样遍历的话,所打印出来的结果是不按照你添加的顺序打印出来的. 很简单,只要先将arr进行排序,再将字典遍历打印出来: NSArray* arr = [yourdictonary allKeys]…
假如有学生成绩以字典顺序排列:{'Tom': 87, 'Jack': 90, 'Rose': 100.....} 想要根据学生的成绩来进行排序,可以考虑使用sorted函数.但是sorted函数用在字典中,是仅对字典的键进行排序的,而不考虑值. 那么我们可以通过zip函数,将字典转化为一个元组: >>> from random import randint >>> s = {x: randint(60, 100) for x in 'abcdef'} {'a': 72,…
问题:想根据一个或多个字典中的值来对列表排序 解决方案:利用operator模块中的itemgetter()函数对这类结构进行排序是非常简单的. # Sort a list of a dicts on a common key rows = [ {'fname': 'Brian', 'lname': 'Jones', 'uid': 1003}, {'fname': 'David', 'lname': 'Beazley', 'uid': 1002}, {'fname': 'John', 'lnam…