注:dic表示定义的一个字典变量,如:dic = {‘name‘: ‘shawn‘, ‘age‘: 18}
增:
1. dic[‘love‘] = ‘girl‘ 直接通过新的键值对进行添加
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} dic[‘love‘] = ‘girl‘ print(dic) 打印结果: {‘name‘: ‘shawn‘, ‘age‘: 18, ‘love‘: ‘girl‘}
2. dic.setdefault() 如果原字典中不存在该key值,则新增该key,默认value值为None,如果有key,value两个参数,且原字典中不存在,则新增,若存在该key,则返回对应value
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} dic.setdefault(‘love‘) # 两个参数,参数1为key,参数2为value,参数2默认为None可不填,原字典中不存在则新增,value默认为None print(dic) 打印结果: {‘name‘: ‘shawn‘, ‘age‘: 18, ‘love‘: None} dic.setdefault(‘love‘, ‘girl‘) # 原字典中不存在该键值对则新增 print(dic) 打印结果: {‘name‘: ‘shawn‘, ‘age‘: 18, ‘love‘: ‘girl‘} res = dic.setdefault(‘name‘) # 原字典中存在该key值,返回对应value print(res) 打印结果: shawn
3. dic.update() 用一个字典更新另一个字典,如果被更新的字典中没有无对应的键值对,则新增到该字典中
dic1 = {"name": "shawn"} dic2 = {"age": 18} dic1.update(dic2) print(dic1) 打印结果: {‘name‘: ‘shawn‘, ‘age‘: 18}
4. dict.fromkeys() 创建新字典,参数1为可迭代对象,参数2为新字典的value值。该方法将参数1打散作为key,参数2作为value值
dic = dict.fromkeys([‘name‘, ‘age‘], 18) print(dic) 打印结果: {‘name‘: 18, ‘age‘: 18} dic = dict.fromkeys(‘abc‘, 18) print(dic) 打印结果: {‘a‘: 18, ‘b‘: 18, ‘c‘: 18}
删:
1. dic.pop() 根据键删除指定的键值对,有返回值,返回值为被删除键值对的value值
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} res = dic.pop(‘age‘) print(dic) 打印结果: {‘name‘: ‘shawn‘} print(res) 打印结果: 18
2. dic.popitem() 随机删除一个键值对,但是一般是删除末尾的键值对,有返回值,返回值为被删除的键值对,以元组的形式返回
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} res = dic.popitem() print(dic) 打印结果: {‘name‘: ‘shawn‘} print(res, type(res)) 打印结果: (‘age‘, 18) <class ‘tuple‘>
3. del dic[‘name‘] 用del方法删除指定键值对
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} del dic[‘name‘] print(dic) 打印结果: {‘age‘: 18}
改:
1. dic[‘name‘] = ‘Jack‘ 通过对字典的key赋新值进行修改
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} dic[‘name‘] = ‘Jack‘ print(dic) 打印结果: {‘name‘: ‘Jack‘, ‘age‘: 18}
2. dic.update() 用一个字典更新另一个字典,如果被更新的字典已含对应的key值,则该key对应的value被替换,如果被更新的字典无对应的键值对,则新的键值对被添加到该字典中
dic1 = {"name": "shawn"} dic2 = {"name": "Jack", "age": 18} dic1.update(dic2) print(dic1) 打印结果: {‘name‘: ‘Jack‘, ‘age‘: 18}
查:
1. dic[‘name‘] 直接通过键取对应的value值,如果字典不存在该key则会报错
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} res = dic[‘name‘] print(res) 打印结果: shawn res = dic[‘gender‘] # 不存在key值时 print(res) 打印结果: Traceback (most recent call last): File "D:/python基础/字典.py", line 24, in <module> res = dic[‘gender‘] KeyError: ‘gender‘
2. dic.get() 通过key获取value值,如果不存在则返回None,不会报错,项目中推荐使用
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} res = dic.get(‘name‘) print(res) 打印结果: shawn res = dic.get(‘gender‘) # 不存在时 print(res) 打印结果: None
3. dic.items() 获取字典所有键值对,可获取字典长度,也可将字典转换成列表
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} res = dic.items() print(res) 打印结果: dict_items([(‘name‘, ‘shawn‘), (‘age‘, 18)]) # 一般这样使用: for k, v in dic.items(): pass print(len(res)) # 获取字典长度 打印结果: 2 lst = list(res) # 转换成列表 print(lst) 打印结果: [(‘name‘, ‘shawn‘), (‘age‘, 18)]
4. dic.keys() 获取字典的所有键
res = dic.keys() print(res) 打印结果: dict_keys([‘name‘, ‘age‘]) # 可将结果转换成列表 lst = list(res) print(lst) 打印结果: [‘name‘, ‘age‘]
5. dic.values() 获取字典的所有value值,功能同dic.keys()
6. enumerate(dic) 枚举获取键值对
dic = {‘name‘: ‘shawn‘, ‘age‘: 18} for i in enumerate(dic): print(i, type(i)) 打印结果: (0, ‘name‘) <class ‘tuple‘> (1, ‘age‘) <class ‘tuple‘>
原文:https://www.cnblogs.com/shawn2019/p/12098341.html