字典内置方法
序号 | 函数及描述 |
---|---|
dict.clear() | 删除字典内所有元素 |
dict.copy() | 返回一个字典的浅复制 |
dict.fromkeys(seq[, val]) | 创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值 |
dict.get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
key in dict | 如果键在字典dict里返回true,否则返回false |
dict .items() | 以列表返回可遍历的(键, 值) 元组数组 |
dict.keys() | 返回一个迭代器,可以使用 list() 来转换为列表 |
dict.setdefault(key, default=None) | 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
dict.update(dict2) | 把字典dict2的键/值对更新到dict里 |
dict.values() | 以列表返回字典中的所有值 |
pop(key[,default]) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值 |
popitem() | 返回并删除字典中的最后一对键和值 |
dict.clear()方法
描述
Python 字典 clear() 函数用于删除字典内所有元素。
语法
dict.clear()
参数
- NA。
返回值
该函数没有任何返回值。
实例
dict = {'Name': 'Zara', 'Age': 7}
print ("字典长度 : %d" % len(dict))
dict.clear()
print ("字典删除后长度 : %d" % len(dict))
字典长度 : 2
字典删除后长度 : 0
dict.copy()方法
描述
Python 字典 copy() 函数返回一个字典的浅复制。
语法
dict.copy()
参数
- NA。
返回值
返回一个字典的浅复制。
实例
dict1 = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
dict2 = dict1.copy()
print ("新复制的字典为 : ",dict2)
新复制的字典为 : {'Age': 7, 'Name': 'Runoob', 'Class': 'First'}
直接赋值和 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)
实例中 dict2 其实是 dict1 的引用(别名),所以输出结果都是一致的,dict3 父对象进行了深拷贝,不会随dict1 修改而修改,子对象是浅拷贝所以随 dict1 的修改而修改。
{'user': 'root', 'num': [2, 3]}
{'user': 'root', 'num': [2, 3]}
{'user': 'runoob', 'num': [2, 3]}
dict.fromkeys() 方法
描述
dict.fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。
语法
dict.fromkeys(seq[, value])
参数
- seq – 字典键值列表。
- value – 可选参数, 设置键序列(seq)对应的值,默认为 None。
返回值
该方法返回一个新字典。
实例
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print ("新的字典为 : %s" % str(dict))
dict = dict.fromkeys(seq, 10)
print ("新的字典为 : %s" % str(dict))
新的字典为 : {'age': None, 'name': None, 'sex': None}
新的字典为 : {'age': 10, 'name': 10, 'sex': 10}
不指定值实例
x = ('key1', 'key2', 'key3')
thisdict = dict.fromkeys(x)
print(thisdict)
{'key1': None, 'key2': None, 'key3': None}
dict.get() 方法
描述
Python 字典 get() 函数返回指定键的值,如果值不在字典中返回默认值。
语法
dict.get(key, default=None)
参数
- key – 字典中要查找的键。
- default – 如果指定键的值不存在时,返回该默认值值。
返回值
返回指定键的值,如果值不在字典中返回默认值 None。
实例
dict = {'Name': 'Runoob', 'Age': 27}
print ("Age 值为 : %s" % dict.get('Age'))
print ("Sex 值为 : %s" % dict.get('Sex', "NA"))
Age 值为 : 27
Sex 值为 : NA
key in dict
描述
Python 字典 in 操作符用于判断键是否存在于字典中,如果键在字典 dict 里返回 true,否则返回 false。
而 not in 操作符刚好相反,如果键在字典 dict 里返回 false,否则返回 true。
语法
key in dict
参数
- key – 要在字典中查找的键。
返回值
如果键在字典里返回true,否则返回false。
实例
dict = {'Name': 'Runoob', 'Age': 7}
# 检测键 Age 是否存在
if 'Age' in dict:
print("键 Age 存在")
else :
print("键 Age 不存在")
# 检测键 Sex 是否存在
if 'Sex' in dict:
print("键 Sex 存在")
else :
print("键 Sex 不存在")
# not in
# 检测键 Age 是否存在
if 'Age' not in dict:
print("键 Age 不存在")
else :
print("键 Age 存在")
键 Age 存在
键 Sex 不存在
键 Age 存在
dict.items() 方法
描述
Python 字典 items() 方法以列表返回可遍历的(键, 值) 元组数组。
语法
dict.items()
参数
- NA。
返回值
返回可遍历的(键, 值) 元组数组。
实例
dict = {'Name': 'Runoob', 'Age': 7}
print ("Value : %s" % dict.items())
Value : dict_items([('Age', 7), ('Name', 'Runoob')])
dict.keys() 方法
描述
dict.keys() 方法返回一个可迭代对象,可以使用 list() 来转换为列表。
**注意:**Python2.x 是直接返回列表
语法
dict.keys()
参数
- NA。
返回值
返回一个迭代器。
实例
>>> dict = {'Name': 'Runoob', 'Age': 7}
>>> dict.keys()
dict_keys(['Name', 'Age'])
>>> list(dict.keys()) # 转换为列表
['Name', 'Age']
>>>
字典所有的键为 : dict_keys(['Age', 'Name'])
dict.setdefault() 方法
描述
dict.setdefault() 方法和 get()方法 类似, 如果键不存在于字典中,将会添加键并将值设为默认值。
语法
dict.setdefault(key, default=None)
参数
- key – 查找的键值。
- default – 键不存在时,设置的默认键值。
返回值
如果 key 在 字典中,返回对应的值。如果不在字典中,则插入 key 及设置的默认值 default,并返回 default ,default 默认值为 None。
实例
以下实例展示了 setdefault() 方法的使用方法:
实例
dict = {'Name': 'Runoob', 'Age': 7}
print ("Age 键的值为 : %s" % dict.setdefault('Age', None))
print ("Sex 键的值为 : %s" % dict.setdefault('Sex', None))
print ("新字典为:", dict)
Age 键的值为 : 7
Sex 键的值为 : None
新字典为: {'Age': 7, 'Name': 'Runoob', 'Sex': None}
dict.update() 方法
描述
dict.update() 函数把字典参数 dict2 的 key/value(键/值) 对更新到字典 dict 里。
语法
dict.update(dict2)
参数
- dict2 – 添加到指定字典dict里的字典。
返回值
该方法没有任何返回值。
实例
dict = {'Name': 'Runoob', 'Age': 7}
dict2 = {'Sex': 'female' }
dict.update(dict2)
print ("更新字典 dict : ", dict)
更新字典 dict : {'Name': 'Runoob', 'Age': 7, 'Sex': 'female'}
dict.values() 方法
描述
Python 字典 values() 方法返回一个迭代器,可以使用 list() 来转换为列表,列表为字典中的所有值。
语法
dict.values()
参数
- NA。
返回值
返回迭代器。
实例
dict = {'Sex': 'female', 'Age': 7, 'Name': 'Zara'}
print ("字典所有值为 : ", list(dict.values()))
字典所有值为 : ['female', 7, 'Zara']
dict.pop() 方法
描述
Python 字典 pop() 方法删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。
语法
pop(key[,default])
参数
- key: 要删除的键值
- default: 如果没有 key,返回 default 值
返回值
返回被删除的值。
实例
>>> site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
>>> pop_obj=site.pop('name')
>>> print(pop_obj)
菜鸟教程
dict.popitem() 方法
描述
Python 字典 popitem() 方法随机返回并删除字典中的最后一对键和值。
如果字典已经为空,却调用了此方法,就报出KeyError异常。
语法
popitem()
参数
- 无
返回值
返回一个键值对(key,value)形式,按照 LIFO(Last In First Out 后进先出法) 顺序规则,即最末尾的键值对。
实例
site= {'name': '菜鸟教程', 'alexa': 10000, 'url': 'www.runoob.com'}
pop_obj=site.popitem()
**print**(pop_obj)
**print**(site)
('url', 'www.runoob.com')
{'name': '菜鸟教程', 'alexa': 10000}