字典
字典的定义:
dictionary(字典)是出列表以外python之中最灵活的数据类型
字典同样可以用来存储多个数据
通常是用于存储描述一个物体的相关信息
和列表的区别:
列表是有序的对象集合
字典是无序的对象集合
字典用{}定义
字典使用键值对存储数据,键值对之间使用逗号,分隔
键key是索引
值value是数据
键和值之间使用:分隔
键必须是唯一的
值可以取任何数据类型,但键只能用字符串、数字或元组
列如:
xiaoming = {"name": "小明",
"age": 18,
"gender": True,
"height": 1.75
}
print(xiaoming)
输出结果为:
{'name': '小明', 'age': 18, 'gender': True, 'height': 1.75}
注意:
字典.key() 表示所有的key列表
字典.value() 表示所有的value列表
字典.items() 表示所有的(key,value)元组列表
字典的基本使用:
例如:
xiaoming_dict = {"name": "小明"}
# 1.取值
# 在取值的时候,如果指定的key不存在,程序会报错!
print(xiaoming_dict["name"])
# 2.增加/修改
# 如果key不存在,会新增键值对
# 如果key存在。会修改已经存在的键值对
xiaoming_dict["age"] = 18
xiaoming_dict["weight"] = 1.75
# 3.删除
# 在删除指定的键值对的时候,如果指定的key不存在,程序会报错!
xiaoming_dict.pop("name")
print(xiaoming_dict)
字典的其他操作
xiaoming_dict = {"name": "小明",
"age": 18}
# 1.统计键值对数量
# 使用len方法
print(len(xiaoming_dict))
# 2.合并字典
# 使用 字典.update方法
temp_dict = {"height": 1.75,
"age": 20}
# 注意:如果被合并的字典中包含已经存在的键值对,会覆盖原有的键值对
xiaoming_dict.update(temp_dict)
print(xiaoming_dict)
# 3.清空字典
xiaoming_dict.clear()
print(xiaoming_dict)
字典的循环遍历
遍历就是依次从字典中获取所有键值对
语法:
# for 循环内部使用的 ‘key的变量’ in 字典
for k in xiaoming:
print(“%s: %s % (k,xiaoming[k]))
提示:在实际开发中,由于字典中每一个键值对保存数据的类型是不同的,所以针对字典的循环遍历需求并不是很多
例如:
xiaoming_dict = {"name": "小明",
"qq": "123456",
"phone": "10086"}
for k in xiaoming_dict:
print("%s - %s" %(k,xiaoming_dict[k]))
输出结果为:
name - 小明
qq - 123456
phone – 10086
应用场景
尽管可以使用for in遍历字典
但是在开发中,更多的应用场景是:
使用多个键值对,存储描述一个物体的相关信息—描述更复杂的数据信息
将多个字典放在一个列表中,再进行遍历,在循环体内部针对每一个字典进行相同的处理
例如:
# 使用多个键值对,存储描述一个物体的相关信息—描述更复杂的数据信息
# 将多个字典放在一个列表中,再进行遍历,在循环体内部针对每一个字典进行相同的处理
car_list = [
{"name": "张三",
"qq": "123456789",
"phone": "110"},
{"name": "李四",
"qq": "789456123",
"phone": "10086"}
]
for car_info in car_list:
print(car_info)
输出结果为:
{'name': '张三', 'qq': '123456789', 'phone': '110'}
{'name': '李四', 'qq': '789456123', 'phone': '10086'}