内容目录

  • 一、字典
  • 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}