字典的定义
dictionary (字典)是除列表以外 Python之中最灵活的数据类型 ,字典同样可以⽤来存储多个数据 ,通常⽤于存储描述⼀个物体的相关信息 ,字典⽤ { } 定义 。
字典使⽤ 键值对 存储数据,键值对之间使⽤ , 分隔:
- 键 key 是索引
- 值 value 是数据
- 键 和 值 之间使⽤ : 分隔
- 值可以取任何数据类型,但键只能使⽤字符串、数字或元组
- 键必须是唯⼀的
# 定义字典
xiaoming = {
"name": "⼩明",
"age": 18,
"gender": True,
"height": 1.75}
# 取出元素的值
print(xiaoming["name"]) # 输出: ⼩明
字典常用操作 :
1 增加
- 字典[键] = 数据 键不存在,会添加键值对;键存在,会修改键值对的值 。
2 删除
- del 字典[键] 删除指定的键值对 。
- 字典.pop(键) 删除指定键值对,返回被删除的值 。
- 字典.clear 清空字典 。
3 修改
- 字典[键] = 数据 键不存在,会添加键值对;键存在,会修改键值对的值 。
- 字典[键] = 数据 键不存在,会添加键值对;键存在,会修改键值对的值 。
- 字典.setdefault(键,数据) 键值对不存在,添加键值对;存在则不做处理 。
- 字典.update(字典2) 取出字典2的键值对,键值对不存在,添加键值对;存在则修改值 。
4 查询
- 字典[键] 根据键取值,键值对不存在会报错 。
- 字典.get(键) 根据键取值,键值对不存在不会报错 。
- 字典.keys() 可进⾏遍历,获取所有键 。
- 字典.values() 可进⾏遍历,获取所有值 。
- 字典.items() 可进⾏遍历,获取所有(键,值) 。
5 遍历
- for key in dict.keys() 取出字典中的每个元素的 key
- for value in dict.values() 取出字典中每个元素的 value
- for item in dict.items() 遍历字典的元素(项)
- for key,value in dict.items() 遍历字典的键值对
应用场景 :
在开发中,字典的应⽤场景是:
- 使⽤多个键值对,存储描述⼀个物体的相关信息 —— 描述更复杂的数据信息
- 将多个字典放在⼀个列表中,再进⾏遍历,在循环体内部针对每⼀个字典进行相同的处理
card_list = [{"name": "张三",
"qq": "12345",
"phone": "110"},
{"name": "李四",
"qq": "54321",
"phone": "10086"}
]
字典内置函数&方法
Python字典包含了以下内置函数:
序号 | 函数及描述 | 实例 |
---|---|---|
1 | len(dict) 计算字典元素个数,即键的总数。 | |
2 | str(dict) 输出字典,以可打印的字符串表示。 | |
3 | type(variable) 返回输入的变量类型,如果变量是字典就返回字典类型。 | |
Python字典包含了以下内置方法:
序号 | 函数及描述 |
---|---|
1 | radiansdict.clear() 删除字典内所有元素 |
2 | radiansdict.copy() 返回一个字典的浅复制 |
3 | radiansdict.fromkeys() 创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值 |
4 | radiansdict.get(key, default=None) 返回指定键的值,如果值不在字典中返回default值 |
5 | key in dict 如果键在字典dict里返回true,否则返回false |
6 | radiansdict.items() 以列表返回可遍历的(键, 值) 元组数组 |
7 | radiansdict.keys() 返回一个迭代器,可以使用 list() 来转换为列表 |
8 | radiansdict.setdefault(key, default=None) 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
9 | radiansdict.update(dict2) 把字典dict2的键/值对更新到dict里 |
10 | radiansdict.values() 返回一个迭代器,可以使用 list() 来转换为列表 |
11 | pop(key[,default]) 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
12 | popitem() 随机返回并删除字典中的一对键和值(一般删除末尾对)。 |