字典格式:d = {key1 : value1, key2 : value2 },由key-value形式的键-值对组成,且key必须是不可变的,如字符串、数字或元组。key是唯一的,如果重复出现多个key,那么最后一个相同key的值会替换前面的,即同个key只能出现一次。value可以是任何数据类型,字符、数字、元组、列表、字典等。
①读取字典值:根据字典key获取对应的value,d['key']
②修改字典值:根据字典key修改对应的value,d['key']=‘new_value’,如果已经存在的key,则修改原value,如果不存在的key,则新增。
③删除字典值:根据字典key删除对应的value,del d['key']
④清空字典元素:使用clear()方法清空字典,d.clear()
⑤删除字典:使用del删除字典,删除后该字典不存在,del d
d = {'name': 'Jerry', 'age': 28, 'hobby': 'singing'}
# 修改原有age的值
d['age'] = 18
# 新增一个sex字段
d['sex'] = 'male'
# 输出当前字典
print(d)
# 获取某个key的值
print(d['age'])
# 删除字典中的一个key-value
del d['sex']
print(d)
# 清空字典中所有元素
d.clear()
# 输出一个空字典,{}
print(d)
# 删除字典
del d
# 删除后,会报错,因为该字典已经被删除不存在了
print(d)
运行结果:
调用方式 | 作用域 | |
方法 | 对象.方法名 | 不释放空间 |
函数 | 函数名() | 自动释放空间 |
函数/方法 | 说明 | 举例 |
clear()方法 | 清空字典内所有元素。 返回一个空字典。 | d = {1: 'a', 2: 'b'} d.clear() ==> {} |
type()函数 | 返回类型 | d = {1: 'a', 2: 'b'} print(type(d)) ==> <class 'dict'> |
copy()方法 | 复制 | d = {1: 'a', 2: 'b'} print(d) ==> {1: 'a', 2: 'b'} print(d.copy()) ==> {1: 'a', 2: 'b'} |
get()方法 | 获取指定key的值。 d.get(key, default),如果找不到对应的key则返回default指定的值。default非必填,默认为None。 | d = {1: 'a', 2: 'b'} print(d.get(1)) ==> a print(d.get(3)) ==> None print(d.get(3, 'Not exists')) ==> Not exists |
setdefault()方法 | 设置默认值。 d.setdefault(key, default),如果字典中已经存在key,则不作修改。如果不存在key,则添加到字典中, default非必填,默认为None。指定了value则添加对应值。 | d = {1: 'a', 2: 'b'} d.setdefault(2, 'c') d.setdefault(3) d.setdefault(4, 'd') print(d) ==> {1: 'a', 2: 'b', 3: None, 4: 'd'} |
items()方法 | 以列表返回可遍历的(key, value) 元组数组 | d = {1: 'a', 2: 'b'} print(d.items()) ==> dict_items([(1, 'a'), (2, 'b')]) |
keys()方法 | 以列表返回所有的key | d = {1: 'a', 2: 'b'} print(d.keys()) ==> dict_keys([1, 2]) |
values()方法 | 以列表返回所有的value | d = {1: 'a', 2: 'b'} print(d.values()) ==> dict_values(['a', 'b']) |
len()函数 | 返回字典元素(key-value)个数 | d = {1: 'a', 2: 'b'} print(len(d)) ==> 2 |
str()函数 | 字典转为字符串格式 | d = {1: 'a', 2: 'b'} print(str(d)) ==> {1: 'a', 2: 'b'} print(type(str(d))) ==> <class 'str'> |
update()方法 | 更新字典元素。 d.update(d1),将d1中的元素添加到d中 | d = {1: 'a', 2: 'b'} print(d1) ==> { 'a': 1, 'b': 2} |
pop()方法 | 删除指定key的值,返回删除的value。 d.pop(key, default),如果找不到对应的key则返回default指定的值。default非必填,默认为None。 | d = {1: 'a', 2: 'b'} print(d) ==> {2: 'b'} |
popitem()方法 | 删除最后一对键值,并返回被删除的键值对。 | d = {1: 'a', 2: 'b'} print(d.popitem()) ==> (2, 'b') print(d) ==> {1: 'a'} |
字典常用取值操作:
d = {'name': 'Jerry', 'age': 28, 'hobby': 'singing'}
# 读取字典所有的key-value
for k, v in d.items():
print(k + ':' + str(v))
# 判断key是否在该字典中存在
if 'name' in d:
print('ok')