s = {"a":"bb","b":"cc","c":"aa"}
def fun(s):
d = sorted(s.iteritems(),key=lambda t:t[1],reverse=False)
return d
d = fun(s)
print d
iteritems()得到的[(键,值)]的列表,通过sorted方法,指定排序的键值key是原来字典中的value属性,其中用到了匿名函数lambda,参数为t列表,返回第二个元素t[1],也就是每个键值对中的value, 从小到大排序时reverse=False,从大到小排序是True!
Python [1] (英国发音:/ˈpaɪθən/美国发音:/ˈpaɪθɑːn/),是一种面向对象的解释型计算机程序设计语言,由荷兰人GuidovanRossum于1989年发明,第一个公开发行版发行于1991年。
Python是纯粹的自由软件, 源代码和解释器CPython遵循 GPL(GNU GeneralPublicLicense)协议。Python语法简洁清晰,特色之一是强制用空白符(whitespace)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面)
然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。
添加键值对首先定义一个空字典
>>>dic={}
直接对字典中不存在的key进行赋值来添加
>>>dic['name']='zhangsan'
>>>dic
{'name': 'zhangsan'}
如果key或value都是变量也可以用这种方法
>>>key='age'
>>>value=30
>>>dic[key]=value
>>>dic
{'age': 30. 'name': 'zhangsan'}
这里可以看到字典中的数据并不是按先后顺序排列的,如果有兴趣,可以搜一搜数据结构中的——哈希表
从python3.7开始,字典按照插入顺序,实现了有序。修改一个已存在的key的值,不影响顺序,如果删了一个key后再添加该key,该key会被添加至末尾。标准json库的dump(s)/load(s)也是有序的
还可以用字典的setdefault方法
>>>dic.setdefault('sex','male')
'male'
>>>key='id'
>>>value='001'
>>>dic.setdefault(key,value)
'001'
>>>dic
{'id': '001', 'age': 30. 'name': 'zhangsan', 'sex': 'male'}
字典本身就是无序的,想让字典排序可以使用
sorted(dic,value,reverse)函数
按照键值排序:print sorted(D.iteritems(),key = lambda asd:asd[0])
[('a', 1), ('b', 2), ('c', 3)]
print sorted(D.iteritems(),key = lambda asd:asd[0],reverse=True)
[('c', 3), ('b', 2), ('a', 1)]
按照values排序:
print sorted(D.iteritems(),key = lambda asd:asd[1])
[('a', 1), ('b', 2), ('c', 3)]
print sorted(D.iteritems(),key = lambda asd:asd[1],reverse=True)
[('c', 3), ('b', 2), ('a', 1)]