python中字典dictionary详解及基本使用
1、dictionary是Python中除了list以外最灵活的数据类型
2、字典同样可以存储多个数据
3、通常用来存储描述某个物体的相关特征
4、和列表的区别
列表是有序的 字典是无须的
5、字典用{}来定义
6、字典用键值对存储数据,键值对之间用英文逗号分隔
- 键 key是索引
- 值 vaule是数据
- 键和值之间使用英文冒号:分隔
- 键必须是唯一的
- 值可以是任意数据类型,但是值只能是字符串、数字或元组
# 字典是一个无需的数据集合,print输出字典时通常输出的顺序和定义的顺序是不一致的 xiaoming = {"name":"小明", "age":18, "height":1.75, "weight":111.5} print(xiaoming) # 输出结果 {'name': '小明', 'age': 18, 'height': 1.75, 'weight': 111.5}
7、示例
字典的取值
xiaoming_dict = {"name":"小明"} # 取值 如果要取值的key不存在则会报错 print(xiaoming_dict["name"]) # 返回结果 小明
字典的新增和修改
xiaoming_dict = {"name":"小明"} # 如果key不存在,则新增键值对 xiaoming_dict["age"] = 18 # 如果key存在,则修改key对应的value xiaoming_dict["name"] = "xiaoming" print(xiaoming_dict) # 返回结果 {'name': 'xiaoming', 'age': 18}
删除键值对 dist.pop(key)方法指定要删除的键值对的key 如果key不存在则会报错
xiaoming_dict = {"name":"小明", "age":18} xiaoming_dict.pop("name") print(xiaoming_dict) # 返回结果 {'age': 18}
统计键值对的数量---len函数
xiaoming_dict = {"name":"小明", "age":18} print(len(xiaoming_dict)) # 输出结果 2
合并字典 使用dict.update(dict1)的方法
注意:如果合并的键值对中包含已有的键值对,会覆盖原有的键值对
xiaoming_dict = {"name":"小明", "age":18}
temp_dict = {"height":1.75,
"age":25}
xiaoming_dict.update(temp_dict)
print(xiaoming_dict)
# 输出结果 {'name': 'xiaoming', 'age': 25, 'height': 1.75}
情况字典 dict.clear方法
xiaoming_dict = {"name":"小明", "age":18} xiaoming_dict.clear() print(xiaoming_dict) # 返回结果 {}
字典的循环遍历
xiaoming_dict = {"name":"小明", "qq":"123456", "phone":"654321"} # 这个k指在每一次遍历中获取到的键值对的key for k in xiaoming_dict: print("%s - %s" % (k,xiaoming_dict[k])) # 输出结果 name - 小明 qq - 123456 phone - 654321
xiaoming_dict1 = {"name":"小明", "age":18, "height":1.75} # 这个k指在每一次遍历中获取到的键值对的key for k in xiaoming_dict1: print(k,end=":") print(xiaoming_dict1[k]) # 输出结果 name:小明 age:18 height:1.75
字典和列表的组合使用
card_list = [{"name":"张三", "QQ":"123456", "phone":"110"}, {"name":"李四", "QQ":"654321", "phone":"10086"} ] for info_list in card_list: print(info_list) # 输出结果 {'name': '张三', 'QQ': '123456', 'phone': '110'} {'name': '李四', 'QQ': '654321', 'phone': '10086'}