内容目录
- 一、字典
- 1. 字典格式如下: dict1 = {key1: value1, key2: value2 …}
- 2. 字典特性:
- 3. 字典的创建和访问 : value = dict1[key]
- 4. 字典的添加, 修改, 清空clear(), 删除del
- 5. 字典常用内置函数: keys()、values()、items()、get()、update()
- 5.1. keys() 获取字典所有的键值,返回的结果为一个迭代器
- 5.2. values() 获取字典所有的值,返回的结果为一个迭代器
- 5.3. items() 获取字典所有的键值对,返回的结果为一个迭代器
- 5.4. get(key,default)可获取指定键值key所对应的值value。
- 5.5. update()可将一个字典添加到另一个字典中。
一、字典
字典(Dictionary)指一种可变的容器,这个容器可以存储任意类型的数据。
字典里的每个元素为一个键值对,键值对格式如下:key : value
key被称为键值,它在字典中的值是唯一的(不能重复)。
value被称为值,它在字典中可以不唯一(可以重复)。
每个键值对用英文冒号:分割
1. 字典格式如下: dict1 = {key1: value1, key2: value2 …}
dict1为表示字典的变量,字典的内容被一个大括号{}包含。
一个字典中可以有多个键值对,每个键值对用英文逗号,分隔
2. 字典特性:
• 字典中的键值可以是字符串,数字或元组类型。
• 字典中的键值(key)不可改变,但是值(value)可以被改变。
• 字典与列表和元组不同,字典的存储方式是无序的,列表和元组中的元素都是有序的,即字典中的元素没有顺序可言。
3. 字典的创建和访问 : value = dict1[key]
#构建一个空字典:dict()是Python的内置函数。
dict1 = {} # 或者 dict1 = dict()
print(dict1)
#构建小明的信息表字典:
dict2 = {"name": "小明", "birth": "2005/06", "code": 1}
print(dict2)
#访问小明的信息表字典:
name = dict2["name"]
print(name)
输出
{}
{'name': '小明', 'birth': '2005/06', 'code': 1}
小明
4. 字典的添加, 修改, 清空clear(), 删除del
#添加
dict1 = {"name": "小明", "birth": "2005/06"}
dict1["phone"] = "12345678"
#添加电话号码的信息,键值为字符串"phone",对应的值为字符串"12345678"
dict1["code"] = 1 #添加编号的信息,键值为字符串"code",对应的值为数字1
print(dict1)
#修改
dict1 = {"name": "小明", "birth": "2005/06", "code":1}
dict1["birth"] = "2007/09" #修改键值为"birth"对应的值
dict1["code"] = 3 #修改键值为"code"对应的值
print(dict1)
#清空
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
dict1.clear() #清空字典
print(dict1)
#删除
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
del dict1["birth"] #删除键值为"birth"的元素
del dict1["code"] #删除键值为"code"的元素
print(dict1)
输出
{'name': '小明', 'birth': '2005/06', 'phone': '12345678', 'code': 1}
{'name': '小明', 'birth': '2007/09', 'code': 3}
{}
{'name': '小明'}
5. 字典常用内置函数: keys()、values()、items()、get()、update()
5.1. keys() 获取字典所有的键值,返回的结果为一个迭代器
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
iter = dict1.keys()
print(iter) #打印迭代器
list1 = list(iter) #将迭代器转换成列表
print(list1)
输出
dict_keys(['name', 'birth', 'code'])
['name', 'birth', 'code']
5.2. values() 获取字典所有的值,返回的结果为一个迭代器
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
iter = dict1.values()
print(iter) #打印迭代器
list1 = list(iter) #将迭代器转换成列表
print(list1)
输出
dict_values(['小明', '2005/06', 1])
['小明', '2005/06', 1]
5.3. items() 获取字典所有的键值对,返回的结果为一个迭代器
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
iter = dict1.items()
print(iter) #打印迭代器
list1 = list(iter) #将迭代器转换成列表
print(list1)
输出
dict_items([('name', '小明'), ('birth', '2005/06'), ('code', 1)])
[('name', '小明'), ('birth', '2005/06'), ('code', 1)]
5.4. get(key,default)可获取指定键值key所对应的值value。
当指定的键值key不在字典中时,返回default所设置的值
dict1 = {"name": "小明", "birth": "2005/06", "数学": 95}
math = dict1.get("数学", 0) #根据键值"数字"获取对应的值
print(math)
English = dict1.get("英语", 0) #根据键值"英语"获取对应的值,如果该键值不在字典中,则返回0
print(English)
输出
95
0
5.5. update()可将一个字典添加到另一个字典中。
dict1.update(dict2) 功能:将字典dict2的键值对添加到字典dict1中
dict1 = {"name": "小明", "birth": "2005/06", "code": 1}
dict2 = {"语文": 95, "数学": 100, "英语": 98}
dict1.update(dict2)
print(dict1)
输出
{'name': '小明', 'birth': '2005/06', 'code': 1, '语文': 95, '数学': 100, '英语': 98}