Python - 字典
1、什么是字典
字典是无序可变的对象集合 ,字典当中的元素是通过键来存取的,而不是通过偏移存取。字典是一种映射类型,字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。
键(key)必须使用不可变类型:
-
可以是任意不可变类型
-
通常是字符串或数字
-
如果一个元组只包含字符串、数字或元组,那么这个元组也可以用作键
-
但如果元组直接或间接地包含了可变对象,那么它就不能用作键
-
列表不能用作键
2、语法
使用字典的字面值创建字典
使用 {} 来表示一个字典,里面允许出现若干键值对
# 创建空字典 ,两种方法 dict = {} dict() # 创建非空字典 {"name":"hua","age":20} dict({"name":"hua","age":20}
3、增加键值对
people = { "name": "华", "age": "20", "weight": "65kg" } people["sex"] = "男" print(people) # 输出结果 {'name': '华', 'age': '20', 'weight': '65kg', 'sex': '男'}
4、删除键值对
-
通过关键字 del
-
通过 .pop(key)
5、修改字典
通过update()
传入的是字典
# update 栗子一 book = { 'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社' } book1 = { "title": "Python 从入门到放弃" } # 若传入字典的键是已存在的,则更新原有的值 book.update(book1) print(book) book2 = { "money": 119 } # 若传入字典的键是不存在的,则添加新的键值对 book.update(book2) print(book) # 输出结果 {'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社'} {'title': 'Python 从入门到放弃', 'author': '张三', 'press': '机械工业出版社', 'money': 119}
传入的是 iterable
d = {'x': 2} d.update([('y', 2), ('z', 3)]) print(d) # 输出结果 {'x': 2, 'y': 2, 'z': 3}
传入的是关键字参数
d = {'x': 2} d.update(y=3, z=0) print(d) # 输出结果 {'x': 2, 'y': 3, 'z': 0}
6、查询字典
两种传参
-
dict.get(key):键存在则返回对应值,不存在则返回 None
-
dict.get(key, default):键存在则返回对应值,不存在则返回设置好的 default 值
栗子
# get book = { 'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社' } print(book.get("title")) print(book.get("books")) print(book.get("books", "默认值")) # 输出结果 Python 入门基础 None 默认值
7、读取字典
keys()
作用
返回字典中所有的键
栗子
# keys book = { 'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社' } for key in book.keys(): print(key) # 输出结果title author press
values()
作用
返回字典中所有的值
栗子
# values book = { 'title': 'Python 入门基础', 'author': '张三', 'press': '机械工业出版社' } for value in book.values(): print(value) # 输出结果 Python 入门基础 张三 机械工业出版社