1. dict.clear()
dict_1 = {'name': 'sd', 'age': '18'} dict_1.clear() print(dict_1)
{}
2. dict.copy()
# dict.copy返回一個字典的淺復制 dict_1 = {'name': 'sd', 'age': '18'} dict_2 = dict_1.copy() print(dict_2)
{'name': 'sd', 'age': '18'}
3. dict.fromkeys()
# @staticmethod 返回函數的靜態方法 # fromkeys()函數用於創建一個新字典 # 以序列seq中元素做字典的鍵,value為字典所有的鍵對應的初始值。 # 直接使用dict.fromkeys(seq[,value]) # seq--字典鍵值列表 # value--可選參數,設置鍵序列(seq)的值 seq = ('name', 'age', 'sex',) dict_1 = dict.fromkeys(seq) print('新的字典為: ' + str(dict_1))
新的字典為: {'name': None, 'age': None, 'sex': None}
seq = ('name', 'age', 'sex',) dict_1 = dict.fromkeys(seq, 10) print('新的字典為: ' + str(dict_1))
新的字典為: {'name': 10, 'age': 10, 'sex': 10}
4. dict.get(key, default=None)
# key--字典中要查找的鍵 # default--如果指定鍵的值不存在時,返回該默認值None # get 不向字典里添加 dict_1 = {'name': 'za', 'age': '22'} a1 = dict_1.get('age') print(a1) a2 = dict_1.get('sex', 'never') print(a2)
22
never
5. dict.items()
#items()方法以列表返回可遍歷的(鍵,值)元組列表。 dict_1 = {'name': 'za', 'age': '22'} print(dict_1.items())
dict_items([('name', 'za'), ('age', '22')])
6. key in dict
# in 操作用於判斷是否存在於字典中 # key--要在字典中查找的鍵 dict_1 = {'name': 'za', 'age': '22'} if 'age' in dict_1: print('鍵 age 存在') if 'sex' in dict_1: print('鍵 sex 存在') else: print('鍵 sex 不存在')
鍵 age 存在
鍵 sex 不存在
7. dict.pop(key[, default])
# pop()方法刪除字典給定的key所對應的值,返回被刪除的值。 # key的值必須給出,否則返回defau值。 dict_1 = {'name': 'za', 'age': '22'} pop_obj = dict_1.pop('name') print(pop_obj) dict_2 = {'name': 'za', 'age': '22'} pop_obj_1 = dict_1.pop('sex','No') print(pop_obj_1)
za
No
8. dict.popitem()
# popitem()方法隨機返回並刪除字典中的一對鍵和值(一般刪除末尾對) #如果字典已經為空,卻調用了此方法,則報出KeyError異常 dict_1 = {'name': 'za', 'age': '22', 'sex': 'No'} popitem_obj = dict_1.popitem() print(popitem_obj)
('sex', 'No')
9. dict.setdefault(key, default=None)
# setdefault()方法和get()方法類似 # 如果鍵不存在於字典中,將會添加鍵並將鍵設為默認值 # key--查找的鍵值 # default--鍵不存在時,設置的默認鍵值 dict_1 = {'name': 'za', 'age': '22', 'sex': 'No'} set_1 = dict_1.setdefault('name', '狗蛋') set_2 = dict_1.setdefault('school', 'bk') print(set_1) print(dict_1)
za {'name': 'za', 'age': '22', 'sex': 'No', 'school': 'bk'}
10. dict.update(dict2)
# update()函數把字典參數dict2的鍵、值(key/value)對更新到字典dict里 dict_1 = {'name': 'za', 'age': '22'} dict_2 = {'sex': 'No', 'school': 'bk', 'name': 'za'} dict_1.update(dict_2) print(dict_1)
{'name': 'za', 'age': '22', 'sex': 'No', 'school': 'bk'}
11. dict.values()
# values()方法以列表返回字典中的所有值 dict_1 = {'name': 'za', 'age': '22'} print(dict_1.values()) print(list(dict_1.values()))
dict_values(['za', '22']) ['za', '22']
12. 字典長度
dict_1 = {'name': 'za', 'age': '22'} print(len(dict_1))
2
13. 查看類型
dict_1 = {'name': 'za', 'age': '22'} print(type(dict_1))
<class 'dict'>
14.字典特性:不允許同一鍵出現兩次,創建時同一鍵出現兩次后一個值會被記住
dict_1 = {'name': 'za', 'age': '22', 'name': 'zzz'} print(dict_1)
{'name': 'zzz', 'age': '22'}
15. del 刪除字典元素/刪除字典
dict_1 = {'name': 'za', 'age': '22', 'name': 'zzz'} del dict_1['name'] print(dict_1)
{'age': '22'}
# 刪除字典 會引發一個異常,因為執行del后字典不再存在 dict_1 = {'name': 'za', 'age': '22', 'name': 'zzz'} del dict_1 print(dict_1)
Traceback (most recent call last): File "C:/Users/123/PycharmProjects/py2018/test", line 75, in <module> print(dict_1) NameError: name 'dict_1' is not defined
16. 修改和添加、訪問
dict_1 = {'name': 'za', 'age': '22'}
print(dict_1['name]') dict_1['sex'] = 'No' dict_1['name'] = 'ww' print(dict_1)
za
{'name': 'ww', 'age': '22', 'sex': 'No'}