字典(dict类型):使用{}来表示
字典的定义:
空字典:{}
注意点:字典中的元素是由key:value组成的
key:同一个字典中key是唯一的(不能存在重复的key)
字典中的key只能是不可变类型的数据(数值,字符串,元组),通常都是使用字符串
value:字典中的value可以保存任何类型的数据
一、字典的定义
字典的定义有以下三种方式:
# 字典的定义 # 方式1:常用 dict_1 = {"name": "jack", "age": "18", "sex": "boy"} print(type(dict_1), dict_1) # 打印结果{'name': 'jack', 'age': '18', 'sex': 'boy'} # 方式2:常用 dict_2 = dict( name='jack', age='18', sex='boy', name2='frank' ) print(dict_2) # 打印结果 {'name': 'jack', 'age': '18', 'sex': 'boy', 'name2': 'frank'} # 方式3:这种方式不常用,在工作中处理[]类型数据时,会通过dict方法转化为字典类型 dict_3 = dict( [('name', 'jack'), ('age', '18'), ('sex', 'boy')] ) print(dict_3) # 打印结果 {'name': 'jack', 'age': '18', 'sex': 'boy'}
二、字典的增删查改
注意点:字符串、列表、元组,支持下标操作,可以下标取值和切片
字典不支持下标取值和切片
1、添加
# 1、添加:通过键直接赋值,dict['键'] = '添加的值'(无则增,有则改) dict_t_01 = {"name": "jack", "age": "18", "sex": "boy"} dict_t_01['name2'] = '小明' print(dict_t_01) # 打印结果为 {'name': 'jack', 'age': '18', 'sex': 'boy', 'name2': '小明'}
2、修改
# 2、修改:通过键直接赋值,dict['键'] = '修改后的值'(无则增,有则改) dict_t_02 = {"name": "jack", "age": "18", "sex": "boy"} dict_t_02['name'] = '张三' print(dict_t_02) # 打印结果为 {'name': '张三', 'age': '18', 'sex': 'boy'}
3、查询
方式1:直接通过键去获取
注意:如果键不存在,会报错KeyError
# 方式1:直接通过键去获取 注意:如果键不存在,会报错KeyError dict_t_03_1 = {"name": "jack", "age": "18", "sex": "boy"} print(dict_t_03_1['name']) # 打印结果为 jack # print(dict_t_03_1['name111']) # 报错,KeyError ,因为键不存在
方式2:get方法通过键去获取
注意:如果键不存在,返回None
# 方式2:get方法通过键去获取 注意:如果键不存在,返回None dict_t_03_2 = {"name": "jack", "age": "18", "sex": "boy"} print(dict_t_03_2.get('age')) # 打印结果为 18 print(dict_t_03_2.get('age123')) # 打印结果为 None ,因为键不存在
4、删除
pop:通过指定键删除对应的键值对
popitem:删除最近一个添加到字典的键值对
clear:清空字典
# 1,pop方法:通过指定键删除对应的键值对 dict_t_04_1 = {"name": "jack", "age": "18", "sex": "boy"} print(dict_t_04_1.pop('sex')) # 打印结果为 boy,这里指的是删掉了boy print(dict_t_04_1) # 打印结果为 {'name': 'jack', 'age': '18'} # 2, popitem:删除最近一个添加到字典的键值对 dict_t_04_2 = {"name": "jack", "age": "18", "sex": "boy"} # 这里先添加一个键值对 dict_t_04_2["dept"] = "Engish" print(dict_t_04_2) # 打印结果为 {'name': 'jack', 'age': '18', 'Sdept': 'EngLish'} print(dict_t_04_2.popitem()) # 打印结果为 ('dept', 'English'),这里是把刚刚最近添加的一个键值对给删掉了 # 3, clear:清空字典 dict_t_04_3 = {"name": "jack", "age": "18", "sex": "boy"} dict_t_04_3.clear() # 这里已经清空了字典 print(dict_t_04_3) # 打印结果为 {}
三、字典的其他方法
keys():获取字典中所有的键
values():获取字典中所有的值
items():获取字典的键值对, (每个键值对会转换为一个元组)
update():往字典中添加多个键值对
dic = {"name": "jack", "age": "18", "sex": "男"} # 1,keys()方法 print(dic.keys()) # 打印结果为 dict_keys(['name', 'age', 'sex']) print(list(dic.keys())) # list()可转换为列表 打印为 ['name', 'age', 'sex'] # 2,values()方法 print(dic.values()) # 打印结果为 dict_values(['jack', '18', '男']) print(list(dic.values())) # list()可转换为列表 打印为 ['jack', '18', '男'] # items()方法 print(list(dic.items())) # 打印结果为 [('name', 'jack'), ('age', '18'), ('sex', '男')] # update()方法:往字典中添加多个键值对 可以理解为列表中的extend dic.update({"a": "11", "b": "22", "c": "33"}) print(dic) # 打印结果为 {'name': 'jack', 'age': '18', 'sex': '男', 'a': '11', 'b': '22', 'c': '33'}