1. 什么是字典(dict)
1)字典是容器型数据类型(序列),将{}作为容器的标志,元素用逗号隔开
特点:可变(增删改),无序(不支持下标操作)
2)字典中的元素
字典中的元素都是键值对,以"键:值"的形式成对出现
{键1:值1,键2:值2,键3:值3…}
{key1 : value1, key2 : value2, key3 : value3,…}
字典存储数据主要是为了存值,键只是为了区分不同的值而存在的
键值对中的键 - 不可变;唯一的
键值对中的值 - 可变的,和列表元素一样,任何数据都可以作为值
key 是唯一的
1.查 - 获取字典的值
1)获取单个元素的值
字典[key] – 获取字典中指定的key对应的值
字典.get(key)/字典.get(key,默认值) – 获取字典中指定的key对应的值(如果key不存在返回None或者默认值);
dog = {‘name’: ‘旺财’, ‘age’: 3, ‘type’: ‘土狗’, ‘color’: ‘黄色’, ‘gender’: ‘母狗’}
print(dog[‘name’])
print(dog.get(‘age’))
print(dog.get(‘weight’))
print(dog.get(‘weight’, 0))
2)遍历
for in :字典直接拿的是字典中的key
for key in dag:
print(key, dog[key])
(不推荐使用后两种)
for value in dog.values():
print(value)
for key, value in dog.items():
print(key, value)
2.增/改
增 - 添加键值对 改 - 修改字典中某个key对应的值
语法: 字典[key] = 值
当key不存在时就在字典中添加该键值对,存在就修改字典中的该键值对
dict2 = {‘a’: 1, ‘b’: 3, ‘c’: 28}
dict2[‘c’] = 2
print(dict2)
#3.删 = 删除key的对应的值
1)def 字典[key] – 删除指定key对应的键值对
2)字典.pop() – 取出字典中key对应的值;返回被取出的值
dict2 = {‘a’: 1, ‘b’: 3, ‘c’: 28}
del dict2[‘b’]
1.相关运算
字典不支持+,*,<,>, <=,>=
支持:== ; !=
print({‘a’: 10, ‘b’: 20} == {‘a’: 10, ‘b’: 20}) # True
print({‘a’: 10, ‘b’: 20} == {‘b’: 20, ‘a’: 10}) # True
2.相关操作: in / not in ; max / min / sum/ len
max / min / sum/ – 针对的是key的操作
key in 字典 – 判断字典中是否存在某个键
dict(数据) – 将指定的数据转换成字典
数据要求:1)数据本身是一个序列
2)序列中元素必须是有且只有两个元素
3.相关方法
dict1 = {1: 10, 2: 20, 3: 30}
dict1.clear()
print(dict1)
1)dict1.fromkeys(序列,值1=None) - 创建一个新的字典,将序列中的元素作为字典的key,
将值1作为每个key对应的value
2)字典.item() – 将字典转中的键值对转换成元组作为容器中的元素
dict1 = {1: 10, 2: 20, 3: 30}
print(dict1.items())
3)字典.values(), 字典.key()
print(dict1.values(), dict1.keys())
4)字典.setdefault(key,value=None) - 在字典中添加键值对,如果存在不会修改
5)字典.update(字典2) – 将字典2中的键值对全部添加到字典1中