字典简介
字典 (Dictionary) 是 Python 中常用的数据结构之一,它用于存放具有映射关系的数据,其灵活性极高,可存储任意类型的数据对象,它有时也被称作关联数组或哈希表。
字典以键值对 的形式存储数据,每个键值对以冒号 : 连接, 冒号左侧为键(key),右侧为值(value),且键与值都使用单引号 ‘’ 或 双引号""包裹。
字典使用大括号{} 包裹,键值对之间使用逗号, 分隔,与列表不同,字典中的元素是无序的。
字典支持更新、删除、嵌套、拼接、成员检查、追加、扩展、排序等相关操作
特点
key-value键值对,键不可以重复,值可以重复
优点:通过键快速获取对应的值
缺点:存储值需要额外的存储键
字典的创建
# 1.字典创建
dic = {}
dic = dict()
dic = {'name': '张三', 'age': 20}
dic = dict(a=1, b=2, c=3)
print(dic)
字典的增删改查
dic = {'name': '张三', 'age': 20}
# 增
dic['sex'] = '男'
dic.setdefault('address', '郑州') # 不写val 默认为None
dic.update({'phone': '13432466', 'email': '7569@qq.com'}) # 追加另一个字典
print(dic)
# 查询
print(dic['sex']) # 没有报错
print(dic.get('sex')) # 没有返回None
# 修改
dic['sex'] = '女'
print(dic)
# 删除
print(dic.pop('sex')) # 根据key删除并返回对应的val
print(dic.popitem()) # 末尾删除并返回键值对(元组)
# dic.clear() 清空
# del dic 删除变量
print(dic)
其它方法
ls = ['a', 'b', 'c']
# 将一个可迭代对象的值作为key 生成新的字典,默认val为None
print(dic.fromkeys(ls, 1))
成员运算
print({'a': 3, 'b': 2} | {'a': 1}) # 并集,key重复,后者覆盖前者
print('name' in dic) # True 只能判断某个key是否存在
字典的遍历
for key in dic:
print(key, dic[key])
for key in dic.keys():
print(key, dic[key])
for value in dic.values():
print(value)
for item in dic.items():
print(item[0], item[1]) # item指key-value的元组
ls = [
{'name': '张三', 'age': 20, 'sex': '男'},
{'name': '李四', 'age': 30, 'sex': '男'},
{'name': '黄蓉', 'age': 120, 'sex': '女'}
]
for item in ls:
print(item['name'], item['age'], item['sex'])