每日一python(6):dict的常見操作方法
阿新 • • 發佈:2019-01-12
首先,我們定義一個字典,如下:
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
注意:
- 每個鍵與值用冒號隔開(:),每對用逗號,每對用逗號分割,整體放在花括號中({})。
- 鍵必須獨一無二,但值則不必。
- 值可以取任何資料型別,但必須是不可變的,如字串,數或元組。
下面,直接上程式碼:
# encoding=utf-8 dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'} print('===== 操作1:訪問字典元素 =====') # 操作1: 訪問字典元素 ===== print('dict[Name]: ', dict['Name']) # 返回: dict[Name]: Zara print('dict[Age]: ', dict['Age']) # 返回: dict[Age]: 7 print('字典所有的key:', dict.keys()) # 返回的是一個列表 ['Name', 'Class', 'Age'] print('字典所有的value:', dict.values()) # 返回的是一個列表 ['Zara', 'First', 7] print(dict.items()) # 返回的是一個列表,元素是元組 [('Age', 7), ('Class', 'First'), ('Name', 'Zara')] print(dict.get('Name')) # 返回: Zara print(dict.get('Class')) # 返回: First print('===== 操作2:查詢字典中元素的個數 =====') # 查詢字典中元素個數 print("字典元素個數:", len(dict)) print('===== 操作3:遍歷字典中所有的key =====') # 遍歷字典中所有的key for key in dict.keys(): print(key) print('操作:遍歷字典中所有的value') # 遍歷字典中所有的value for value in dict.values(): print(value) print('===== 操作4:遍歷字典中所有的鍵值對 key:value =====') for key, value in dict.items(): print("key = %s, value = %s" % (key, value)) print('===== 操作5:訪問字典中不存在的key') # 方法1:系統直接丟擲異常 #print('dict[Alice]: ', dict['Alice']) # 報錯: KeyError: 'Alice' # 方法2:當鍵不存在時不想處理異常 key = 'Alice' if key in dict: print(dict[key]) else: print('Not Found') # 或者 try: print(dict[key]) except KeyError: print('Not Found') print('===== 操作6:向字典中新增元素 =====') Number = input("請輸入學號:") dict['Num'] = Number print(dict) print('===== 操作7:修改字典中的元素 =====') # 修改字典中的元素 temp = input(("請輸入修改後的值:")) dict['Num'] = temp print(dict) print('===== 操作8:刪除字典中指定的鍵值 =====') dict.pop('Num') print(dict) print('===== 操作9:新建一個字典,以seq中的與元素作為鍵') li = ['user', 'password'] dictNew = dict.fromkeys(li, 123456) print(dictNew) print('===== 操作10:清空字典中的元素 =====') # 清空字典元素 # dict.clear() # print(dict) # 返回: { }
列印結果如下:
===== 操作1:訪問字典元素 ===== dict[Name]: Zara dict[Age]: 7 字典所有的key: dict_keys(['Class', 'Name', 'Age']) 字典所有的value: dict_values(['First', 'Zara', 7]) dict_items([('Class', 'First'), ('Name', 'Zara'), ('Age', 7)]) Zara First ===== 操作2:查詢字典中元素的個數 ===== 字典元素個數: 3 ===== 操作3:遍歷字典中所有的key ===== Class Name Age 操作:遍歷字典中所有的value First Zara 7 ===== 操作4:遍歷字典中所有的鍵值對 key:value ===== key = Class, value = First key = Name, value = Zara key = Age, value = 7 ===== 操作5:訪問字典中不存在的key Not Found Not Found ===== 操作6:向字典中新增元素 ===== 請輸入學號:0001 {'Num': '0001', 'Class': 'First', 'Name': 'Zara', 'Age': 7} ===== 操作7:修改字典中的元素 ===== 請輸入修改後的值:0002 {'Num': '0002', 'Class': 'First', 'Name': 'Zara', 'Age': 7} ===== 操作8:刪除字典中指定的鍵值 ===== {'Class': 'First', 'Name': 'Zara', 'Age': 7} ===== 操作9:新建一個字典,以seq中的與元素作為鍵 {'user': 123456, 'password': 123456} ===== 操作10:清空字典中的元素 ===== {}