a = {...} b = a.copy() # 对字典 a 进行浅复制,返回一个和 a 有相同键值对的新字典
获取元素
1 2 3 4 5
a = {'m': 1, 'k': 2} m = a['m'] # m = 1,直接在中括号中传入键值即可 m = a.get('m') # m = 1 m = a.get('p') # m = None,通过 get 方法获取元素时,如果此 key 不存在会返回 None m = a.get('p', 9) # m = 9,通过 get 方法获取不存在的元素时,可以传入一个参数,当不存在时返回
元素 keys values items 获取
1 2 3 4
a = {'m': 1, 'k': 2, 'p': 3, 'l': 4} k = a.keys() # k = dict_keys(['m', 'k', 'p', 'l']),获取所有的 key 组成的列表所包装成的对象,可以通过 list 函数转换为列表 v = a.values() # v = dict_values([1, 2, 3, 4]),获取所有的 value 组成的列表所包装成的对象,可以通过 list 函数转换为列表 i = a.items() # i = dict_items([('m', 1), ('k', 2), ('p', 3), ('l', 4)]),获取所有的 (key, value) 元组组成的列表所包装成的对象,可以通过 list 函数转换为列表
判断是否有指定键
1 2 3
a = {'c': 1, 'm': 2, 'y': 3, 'k': 4} 'm'in a # True 't'in a # False
添加元素
1 2 3 4 5
a = {} a['m'] = 1# a = {'m': 1},可以通过直接传入新 key 而添加元素 t = a.setdefault('k', 2) # t = 2, a = {'m': 1, 'k': 2},添加一个新元素并返回新元素的值 t = a.setdefault('m', 2) # t = 1, a = {'m': 1, 'k': 2},若健已存在,则不会修改元素的值并返回元素原来的值 a.update({'p': 3, 'l': 4}) # a = {'m': 1, 'k': 2, 'p': 3, 'l': 4},通过传入一个新字典来插入元素
a = {'m': 1, 'k': 2, 'p': 3} x = a.pop('k') # x = 2, a = {'m': 1, 'p': 3},删除制定索引的元素并返回它 del a['m'] # a = {'p': 3},删除指定索引的元素 a = {'m': 1, 'k': 2, 'p': 3} x = a.popitem() # x = ('p', 3), a = {'m': 1, 'k': 2},随机删除一对值并返回 a.clear() # a = {},清空字典中全部元素 del a # a不再存在,删除字典,直接取消了定义
字典排序
字典的排序是按照 key 值进行排序,返回的是按照字典的 key 值排序所组成的列表
1 2
dic = {'he': 1, 'she': 2 ,'that': 3} s = sorted(dic) # s = ['he', 'she', 'that']
字典遍历
直接循环只遍历 key 值
1 2 3 4 5 6 7 8 9
a = {'m': 1, 'k': 2, 'p': 3} for i in a: print(i) ''' 输出结果为: m k p '''
这时应该采用下面的方式获取键对应的值
1 2 3 4 5 6 7 8 9
a = {'m': 1, 'k': 2, 'p': 3} for i in a: print(i, a[i]) ''' 输出结果为: m 1 k 2 p 3 '''
或者采用 .items() 方法来获取所有内容
1 2 3 4 5 6 7 8 9
a = {'m': 1, 'k': 2, 'p': 3} for key, value in a.items(): print(key, value) ''' 输出结果为: m 1 k 2 p 3 '''