数据容器之字典dict()
- 和集合定义方式类似,使用{},不过是使用key:value键值对进行定义的
- 字典内key不允许重复,重复添加等于覆盖原有数据
- 字典不可以使用下标索引,而是使用key检索value
{key:value, key:value, key:value, key:value}
my_dict = {key:value, key:value, key:value, key:value}
my_dict = dict()
声明示例:
my_dict = {"name": "小明", "age": 18, "hobby": "写代码"}
print(my_dict, type(my_dict))
my_dict_empty = dict()
print(my_dict_empty, type(my_dict_empty)) # {} <class 'dict'>
my_dict_empty = {}
print(my_dict_empty, type(my_dict_empty)) # {} <class 'dict'>
- 字典中不允许出现重复的key,如果有重复的,后边的会覆盖前边的。
my_dict = {"name": "小明", "age": 18, "age": 19, "hobby": "写代码"}
print(my_dict) # {'name': '小明', 'age': 19, 'hobby': '写代码'}
2.使用key来获取value值,字典[key]。
my_dict = {"name": "小明", "age": 18, "hobby": "写代码"}
print(my_dict["name"]) # 小明
- 嵌套字典。
my_dict = {"name": "小明", "age": 18, "hobby": {"hobby1": "写代码", "hobby2": "打游戏"}}
print(my_dict["hobby"]["hobby2"]) # 打游戏
4.字典新增元素 语法:字典[“key”] = value。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
my_dict["小刚"] = 21
print(my_dict) # {'小明': 18, '小红': 17, '小李': 20, '小刚': 21}
# 修改操作同理
my_dict["小明"] = 99
print(my_dict) # {'小明': 99, '小红': 17, '小李': 20, '小刚': 21}
- 字典中删除元素,字典.pop(key),pop会返回删除key的value值。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
str = my_dict.pop("小李")
print(str) # 20
print(my_dict) # {'小明': 18, '小红': 17}
6.清空字典元素,clear(),字典.clear()。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
my_dict.clear()
print(my_dict) # {}
- 获取字典全部的key,字典.keys()。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
my_keys = my_dict.keys()
print(my_keys) # dict_keys(['小明', '小红', '小李'])
print(type(my_keys)) # <class 'dict_keys'>
- 获取字典全部的value,字典.values()。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
my_keys = my_dict.values()
print(my_keys) # dict_values([18, 17, 20])
print(type(my_keys)) # <class 'dict_keys'>
- 遍历字典,使用for循环遍历字典。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
for key in my_dict:
print(f"字典的key是:{key},对应的value是:{my_dict[key]}")
# 字典的key是:小明,对应的value是:18
# 字典的key是:小红,对应的value是:17
# 字典的key是:小李,对应的value是:20
通过循环字典的keys()
my_dict = {"小明": 18, "小红": 17, "小李": 20}
my_keys = my_dict.keys()
for item in my_keys:
print(f"字典的key是:{item},对应的value是:{my_dict[item]}")
# 字典的key是:小明,对应的value是:18
# 字典的key是:小红,对应的value是:17
# 字典的key是:小李,对应的value是:20
- 获取字典的每一项key和value,字典.items(),返回字典的每一项,返回一个列表元组类型。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
item_dict = my_dict.items()
print(item_dict) # dict_items([('小明', 18), ('小红', 17), ('小李', 20)])
print(type(item_dict)) # <class 'dict_items'>
for item in item_dict:
print(item[0],item[1])
- 获取字典的长度。
my_dict = {"小明": 18, "小红": 17, "小李": 20}
print(len(my_dict)) # 3