http://blog.csdn.net/mmc2015/article/details/50777349 python的【字典dict】:創建、訪問、更新、刪除;查看鍵、值、鍵值對;遍歷;排序
標簽: python的字典dict創建訪問更新刪除查看鍵值鍵值對遍歷排序2016-03-02 09:46 1471人閱讀 評論(0) 收藏 舉報
分類:版權聲明:本文為博主原創文章,未經博主允許不得轉載。
字典是另一種可變容器模型,且可存儲任意類型對象。
字典的每個鍵值(key=>value)對用冒號(:)分割,每個對之間用逗號(,)分割,整個字典包括在花括號({})中 ;
字典值可以沒有限制地取任何Python對象,既可以是標準的對象,也可以是用戶定義的;但鍵不行,如果同一個鍵被賦值兩次,后一個值會被記住。
值可以取任何數據類型,但鍵必須是不可變的,如字符串,數字或元組(列表這樣的可變類型不能作為鍵)。
創建、訪問:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};dict2 = { }; //空字典PRint "dict['Name']: ", dict['Name'];print "dict['Age']: ", dict['Age'];
字典中包含列表:dict={'yangrong':['23','IT'],"xiaohei":['22','dota']}
字典中包含字典:dict={'yangrong':{"age":"23","job":"IT"},"xiaohei":{"'age':'22','job':'dota'"}}
修改、添加:dict['Age'] = 8; # update existing entrydict['School'] = "DPS School"; # Add new entry刪除:del dict['Name']; # 刪除鍵是'Name'的條目dict.clear(); # 清空詞典所有條目del dict ; # 刪除詞典查看是否包含特定key:
dict.has_key(k)如果鍵在字典dict里返回true,否則返回false查看所有鍵、值、(鍵,值)對:dict.keys()、dict.values()、dict.items();返回值的類型為列表遍歷:
for d,x in dict.items(): print "key:"+d+",value:"+x
for k in dict.keys(): print "key:"+k+",value:"+dict[k]
排序:
# 按照key進行排序 print sorted(dict1.items(), key=lambda d: d[0])
或:
sorted(d.items(), lambda x, y: cmp(x[0], y[0])), 或反序: sorted(d.items(), lambda x, y: cmp(x[0], y[0]), reverse=True)
# 按照value進行排序 print sorted(dict1.items(), key=lambda d: d[1]) 或:
sorted(d.items(), lambda x, y: cmp(x[1], y[1])), 或反序: sorted(d.items(), lambda x, y: cmp(x[1], y[1]), reverse=True)
list:
按距離差訪問元素
順序訪問,速度慢
存儲空間要求小
dict:
按索引訪問元素
需要大空間,但訪問很快
set:
元素不可重復
其它和dict基本類似
|、&、-、^,分別是:并、交、差、逆差