1. 程式人生 > >每日一python(6):dict的常見操作方法

每日一python(6):dict的常見操作方法

首先,我們定義一個字典,如下:

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:清空字典中的元素 =====
{}