python:dict字典操作及常用方法
字典是可变容器类型,可以存储任意类型对象。在python中,创建字典,使用{}或者dict()函数。字典中的值是以键值对(key=>value)的形式存在, key和value使用:分割。每个键值对之间用,分割。格式形式如下:test_dict = {key1:value1, key2:value2}需要注意的是:1.键是唯一的,如果键出现重复,后面的会替代前面的。2.键的值必须不可变3.值
·
字典是可变容器类型,可以存储任意类型对象。在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)
更多推荐
已为社区贡献9条内容
所有评论(0)