1、Python数据字典python
字典是python中惟一的映射类型(哈希表)对象
字典的对象是可变的,但字典的键必须使用不可变对象,一个字典能够使用不一样的类型的键值。排序
使用大括号{}建立字典。ip
字典中每一个键值(key=>value)对用冒号:分割,每一个对之间用(,)分割。get
经常使用方法:input
#定义字典string
dict = {'name':'wxy','age':'27',('1'):000}it
#获取值lambda
dict.get('name')date
#修改值
dict['name']='bjy'
#判断key是否在字典中
'name' in dict
#把字段转换成列表
dict.items()
#清除字典
dict.clear()
#删除值
del dict['name']
dict.pop('name')
#列表转成字典
list1=[1,2,'rt']
list2=[3,4,'2t']
dic=dict(zip(list1,list2))
2、字典练习
#把输入的值生成一个字典,并循环打印
name=raw_input("please input name:")
age=raw_input("please input age:")
gender=raw_input("please input gender:")
info={}
info['name']=name
info['age']=age
info['gender']=gender
for i,x in info.items():
print ('%s: %s'% (i,x))
print (type(info.items()))
3、练习题
练习:
1. 现有一个字典dict1 保存的是小写字母a-z对应的ASCII码
dict1 = {'a': 97, 'c': 99, 'b': 98, 'e': 101, 'd': 100, 'g': 103, 'f': 102, 'i': 105, 'h': 104, 'k': 107, 'j': 106, 'm': 109, 'l': 108, 'o': 96, 'n': 110, 'q': 113, 'p': 112, 's': 115, 'r': 114, 'u': 117, 't': 116, 'w': 119, 'v': 118, 'y': 121, 'x': 120, 'z': 122}
1) 将该字典按照ASCII码的值排序
print sorted(dict1.iteritems(), key=lambda d:d[1], reverse=False)
2) 有一个字母的ASCII错了,修改成正确的值,并从新排序
dict1['o'] = 111
print sorted(dict1.iteritems(), key=lambda d:d[1], reverse=False)
2. 用最简洁的代码,本身生成一个大写字母 A-Z 及其对应的ASCII码值的字典dict2(使用dict,zip,range方法)
dict2 = dict(zip(string.uppercase,range(65,92)))
print dict2
3. 将dict2与第一题排序后的dict1合并成一个dict3
dict3 = dict(dict1, **dict2)
# dict3 = dict(dict1, **dict2)等同于下面的两行代码
# dict3 = dict1.copy()
# dict3.update(dict2)
print dict3