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