字典是可变容器类型,可以存储任意类型对象。在python中,创建字典,使用{}或者dict()函数。
字典中的值是以键值对(key=>value)的形式存在, key和value使用:分割。每个键值对之间用,分割。格式形式如下:
test_dict = {key1:value1, key2:value2}
需要注意的是:
1.键是唯一的,如果键出现重复,后面的会替代前面的。
2.键的值必须不可变
3.值不需要唯一,且值可以是任何类型的。

1.创建空字典:使用{},或者dict()

在这里插入代码片# 字典:使用{} 、 dict()创建字典
dict1 = {}  # 创建空字典
dict2 = dict()  # 创建空字典
print("字典dict1:{},类型为:{}".format(dict1, type(dict1)))
print("字典dict2:{},类型为:{}".format(dict2, type(dict2)))

在这里插入图片描述

2.字典取值:将字典的key放进[]中

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典

name = dict1['姓名']  # 取出姓名对应的字典值

print('我的名字是:{}'.format(name))

在这里插入图片描述
需要注意的是,在取出字典值时,key的值要正确,如果key不存在字典中,会报错:
在这里插入图片描述

3.字典修改

新增字典键值对

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典

dict1['单位'] = '研究院'

print(dict1)

在这里插入图片描述
更新字典值:

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典

dict1['学历'] = '研究生'

print(dict1)

在这里插入图片描述
删除字典键值:
a.通过del删除单一键值对

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典

del dict1['学历']

print(dict1)

在这里插入图片描述

b.通过del删除字典:这个删除是彻底删除,包括字典及字典内容

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
del dict1

print(dict1)  # 打印字典,不存在

在这里插入图片描述

c.通过clear清空字典:这个清空是清空字典中的内容,但字典还存在

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
dict1.clear()

print(dict1)

在这里插入图片描述

4.常用方法

copy()函数,对字典进行浅复制,并返回。

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
dict2 = dict1.copy()  # copy字典

print(dict2)  

在这里插入图片描述

get方法获取指定key的值

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
value = dict1.get('年龄')

print("得到的年龄值是:{}".format(value))

在这里插入图片描述
需要注意的是,使用get方法取值时,如果key不存在,则会返回None:
在这里插入图片描述

items方法,以列表的形式返回键和值的元组

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
value = dict1.items()  # 以列表的形式,返回字典的键和值的元组

print(value)

在这里插入图片描述

keys方法,以列表的形式,返回字典中的所有的key

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
keys = dict1.keys()  # 以列表的形式返回字典中所有的key

print(keys)

在这里插入图片描述

values方法,以列表的形式返回字典中所有的字典值

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
values = dict1.values()  # 以列表的形式返回字典中所有的value

print(values)

在这里插入图片描述

fromkeys(seq[, value])创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值,如果values 未设置,则字典值默认为None

sec = ['姓名', '年龄', '性别']

dic1 = dict.fromkeys(sec)
dic2 = dict.fromkeys(sec, 111)
print(dic1)
print(dic2)

在这里插入图片描述

setdefault(key, default=None)方法,与get方法类似,区别在于,setdefault当键不存在时,会自动添加,并赋予默认值。如果不设置默认值时,则为None

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
dict1.setdefault('test')  # 不设置default,默认为None
dict1.setdefault('hahah', '默认值')

print(dict1)

在这里插入图片描述

update函数把一个字典中的键/值对更新到另外一个字典里。

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
dict2 = {'籍贯': '北京'}
dict1.update(dict2)
print(dict1)

在这里插入图片描述

pop函数,删除指定key的键值对,并将key对应的值返回

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
del_val = dict1.pop('学历')
print(dict1)
print(del_val)

在这里插入图片描述

popitem 方法,以元组的形式返回并删除字典中的最后一对键和值。

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
del_val = dict1.popitem()
print(dict1)
print(del_val)

在这里插入图片描述

len函数,计算字典的元素个数,即字典中key的个数

dict1 = {'姓名': '张三', '年龄': 18, '性别': '女', '地址': '北京市', '学历': '本科'}  # 创建字典
length = len(dict1)
print(length)

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐