字典常用函数和方法速查
len(dict)
-
用途
计算字典元素个数,即键的总数。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} len(dict) # 3
str(dict)
-
用途
输出字典,以可打印的字符串表示。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} str(dict) # "{'a': 1, 'b': 2, 'c': 3}"
dict.clear()
-
用途
用于删除字典内所有元素。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} dict.clear() # 清空字典
dict.copy()
-
用途
返回一个字典的浅拷贝。
-
实例
dict1 = {'user':'runoob','num':[1,2,3]} dict2 = dict1 # 浅拷贝: 引用对象 dict3 = dict1.copy() # 浅拷贝:深拷贝父对象(一级目录),子对象(二级目录)不拷贝,还是引用 # 修改 data 数据 dict1['user']='root' dict1['num'].remove(1) # 输出结果 print(dict1) print(dict2) print(dict3) out: {'user': 'root', 'num': [2, 3]} {'user': 'root', 'num': [2, 3]} {'user': 'runoob', 'num': [2, 3]}
dict.fromkeys(seq[, value])
-
用途
用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
-
参数
-
seq – 字典键值列表。
-
value – 可选参数, 设置键序列(seq)对应的值,默认为 None。
-
-
实例
x = ('key1', 'key2', 'key3') dict01 = dict.fromkeys(x) # {'key1': None, 'key2': None, 'key3': None} dict02 = dict.fromkeys(x, 1) # {'key1': 1, 'key2': 1, 'key3': 1}
dict.get(key, default=None)
-
用途
返回指定键的值,如果键不在字典中返回默认值。
-
参数
-
key – 字典中要查找的键。
-
default – 如果指定的键不存在时,返回该默认值。
-
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print(dict.get('a')) # 1 print(dict.get('d')) # None,不指定第二个参数,当找不到 key 时返回 None print(dict.get('d', 4)) # 4,指定第二个参数,当找不到 key 时返回指定值
key in/not in dict
-
用途
in 用于判断 key 是否存在于字典中,如果 key 在字典 dict 里返回 true,否则返回 false。
not in 操作符刚好相反,如果 key 在字典 dict 里返回 false,否则返回 true。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print('a' in dict) # True print(1 not in dict) # True
dict.items()
-
用途
以列表形式返回可遍历的(键, 值) 元组数组,可以使用 list() 来转换为列表。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print(dict.items()) # dict_items([('a', 1), ('b', 2), ('c', 3)])
dict.keys()
-
用途
返回一个可迭代对象,可以使用 list() 来转换为列表。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print(dict.keys()) # dict_keys(['a', 'b', 'c'])
dict.setdefault(key, default=None)
-
用途
setdefault() 方法和 get() 方法 类似, 如果键不已经存在于字典中,将会添加键并将值设为默认值。
如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print(dict.setdefault('a')) # 1 print(dict.setdefault('d')) # None print(dict.setdefault('e', 5)) # 5 print(dict) # {'a': 1, 'b': 2, 'c': 3, 'd': None, 'e': 5}
dict.update(dict2)
-
用途
把字典 dict2 的键/值对更新到 dict 里。
-
实例
dict01 = {'a': 1, 'b': 2, 'c': 3} dict02 = {'a': 4, 'b': 7, 'd': 8} dict01.update(dict02) print(dict01) # {'a': 4, 'b': 7, 'c': 3, 'd': 8}
dict.values()
-
用途
返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print(dict.values()) # dict_values([1, 2, 3])
dict.pop(key[,default])
-
用途
删除字典给定键 key 所对应的值,返回值为被删除的值。
key 值必须给出,否则会报错。
如果要删除的 key 不存在,则需要添加默认值,否则会报错。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print(dict.pop('a')) # 1 print(dict.pop('d', 'None')) # None
dict.popitem()
-
用途
按照 LIFO(Last In First Out 后进先出法) 顺序规则,随机返回并删除字典中的最后一对键和值。
如果字典已经为空,却调用了此方法,就报出KeyError异常。
-
实例
dict = {'a': 1, 'b': 2, 'c': 3} print(dict.popitem()) # ('c', 3)