python-11 資料結構 - 字典
阿新 • • 發佈:2018-11-11
字典
建立: 1.字面量 >>> {"you":90,"liang":80} {'you': 90, 'liang': 80} 2. 通過dict函式建立: 2.1 用列表來建立 >>> dict1 = dict([["you",90],["liang",80],["zhong",70] ]) >>> dict1 {'you': 90, 'liang': 80, 'zhong': 70} 2.2 元組 >>> dict2 = dict((("you",90),("liang",80),("zhong",70))) >>> dict2 {'you': 90, 'liang': 80, 'zhong': 70} 2.3 zip >>> dist3 = dict(zip(["you","liang","zhong"],[90,80,70])) >>> dist3 {'you': 90, 'liang': 80, 'zhong': 70} 2.4 賦值方式 >>> dict7 = dict(a="aaa",b="ddd") >>> dict7 {'a': 'aaa', 'b': 'ddd'} 3.通過fromkeys >>> dict4 ={}.fromkeys(["you","liang","zhong"],'大於60') >>> dist4 {'you': '大於60', 'liang': '大於60', 'zhong': '大於60'} 預設為空 >>> dict4 ={}.fromkeys(["you","liang","zhong"]) >>> dict4 {'you': None, 'liang': None, 'zhong': None} 4. 推導式 >>> dict7 = {n:n**2 for n in range(1,5)} >>> dict7 {1: 1, 2: 4, 3: 9, 4: 16}
字典的操作
1.查詢: 鍵值查詢 >>> dict1 {'you': 90, 'liang': 80, 'zhong': 70} >>> dict1.get("you") 90 >>> dict1.get("cha") >>> dict1.get("cha","鍵不存在") '鍵不存在' >>> dict1.get("you","鍵不存在") 90 類似下標的查詢 >>> dict1["you"] 90 2.常用函式 >>> dict1.items() dict_items([('you', 90), ('liang', 80), ('zhong', 70)]) >>> dict1.keys() dict_keys(['you', 'liang', 'zhong']) >>> dict1.values() dict_values([90, 80, 70]) 3.遍歷輸出: >>> for i in dict1.keys(): print(i) you liang zhong 可以預設 >>> for i in dict1: print(i) you liang zhong 3.成員函式 >>> "you" in dict1 True 4.增刪改 >>> dict1["you"] = 100 >>> dict1 {'you': 100, 'liang': 80, 'zhong': 70, 'cha': '10'} 5.合併字典 >>> dict2 = {'a':10} >>> dict1 {'you': 100, 'liang': 80, 'zhong': 70, 'cha': '10'} >>> dict2 {'a': 10} >>> dict1.update(dict2) >>> dict1 {'you': 100, 'liang': 80, 'zhong': 70, 'cha': '10', 'a': 10} >>> dict2 {'a': 10} 刪除元素: del() >>> del(dict1["you"]) >>> dist1 >>> dict1 {'liang': 80, 'zhong': 70, 'cha': '10', 'a': 10} del語句 >>> dict2 {'a': 10} >>> del dict2 >>> dict2 Traceback (most recent call last): File "<pyshell#71>", line 1, in <module> dict2 NameError: name 'dict2' is not defined pop(): >>> dict1.pop("liang") 80 >>> dict1 {'zhong': 70, 'cha': '10', 'a': 10} popitem() >>> dict1 {'zhong': 70, 'cha': '10', 'a': 10} >>> dict1.popitem() ('a', 10) >>> dict1 {'zhong': 70, 'cha': '10'} >>> dict1 {'zhong': 70, 'cha': '10'} >>> dict1.clear() >>> dict1 {} 字典存在,只是將字典清空