def orderdict(mydict):
'''7-3(a)
创建一个字典,并把字典中的键按照字母顺序显示出来
'''
#
题目说了只要把键按照字母顺序显示出来,并没有说要把值也显示出来
print sorted(mydict)
def orderdict2(mydict):
'''7-3(b)
现在根据排好的键,显示出这个字典的键和值
'''
keys = sorted(mydict)
for i in keys:
print '%s:%s ' %(i,mydict[i]),
def orderdict3(mydict):
'''7-3(c)
这次按照值排序输出
'''
#
这里我们采用了
sorted
的
key
技巧
for k,v in sorted(mydict.items(),key=lambda x:x[1]):
print '%s:%s ' %(k,v),
def mergedict(list1,list2):
'''7-4
给定两个长度相同的列表,建立一个字典
例如
[1,2,3,4,5] ['a','b','c','d']
生成
[1:'a',2:'b',3:'c',4:'d']'''
r = {}
lens = len(list1)
for i in xrange(lens):
r.setdefault(list1[i],list2[i])
return r
# 7.5
在单独的文件里
# 7.6
在单独的文件里
def changedict(mydict):
'''7.7
将输入的字典的键和值互换
示例
:
mydict = {1:'a',2:'b'}
changedict(mydict)
print mydict
'''
#
这里假设输入的值都是可以作为字典的键的,并且要注意,值不能有重复,否则
会产生数据丢失
#
考虑,是直接修改引用,还是不修改引用返回值?