mapping 对象会将 hashable 值映射到任意对象。 映射属于可变对象。 目前仅有一种标准映射类型 字典。 (关于其他容器对象请参看 list, set 与 tuple 等内置类,以及 collections 模块。)
字典的键 几乎 可以为任何值。 不是 hashable 的值,即包含列表、字典或其他可变类型(按值比较而非按对象标识比较)的值不可被用作键。 比较结果相等的值(如 1, 1.0 和 True 等)可被互换使用以索引同一个字典条目。
文章目录
- 前言
- 在 Python 中,dict 是一种数据结构,也称为字典(Dictionary),用于存储键值对(key-value pairs)的集合。字典是一种可变的、无序的、以键为索引的集合,其中每个键必须是唯一的,但值则不必唯一。
- 一、dict是什么?
- 二、使用步骤
- 1.基本操作(增删查改)
- 创建字典
- 访问字典元素
- 修改字典元素
- 添加字典元素
- 删除字典元素
- 判断字典是否为空
- 遍历字典
- 2.常用方法
- 1.clear():清空字典
- 2.copy():复制字典
- 3.fromkeys():创建指定键的字典,是一个类方法,参数为序列或迭代器,默认参数是None
- 4.get():获取指定键的值
- 5.items():以列表返回可遍历的(键, 值) 元组数组
- 6.keys():以列表返回字典所有的键
- 7.values():以列表返回字典所有的值
- 8.pop():删除指定键的值,并返回该值
- 9.popitem():随机删除一个键-值对,并返回该键-值对
- 10.setdefault():设置默认值
- 11.update():更新字典
- 12.并集运算符 |
- 总结
前言
在 Python 中,dict 是一种数据结构,也称为字典(Dictionary),用于存储键值对(key-value pairs)的集合。字典是一种可变的、无序的、以键为索引的集合,其中每个键必须是唯一的,但值则不必唯一。
提示:以下是本篇文章正文内容,下面案例可供参考
一、dict是什么?
在 Python 中,dict 是一种数据结构,也称为字典(Dictionary),用于存储键值对(key-value pairs)的集合。字典是一种可变的、无序的、以键为索引的集合,其中每个键必须是唯一的,但值则不必唯一。
字典的特点包括:
无序性:字典中的键值对没有固定的顺序,不像列表或元组有顺序。
键的唯一性:字典中的键必须是唯一的,如果重复赋值给同一个键,则会覆盖原来的值。
可变性:字典是可变的,可以修改、添加或删除键值对。
二、使用步骤
1.基本操作(增删查改)
代码如下(示例):
创建字典
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
#创建空字典
dict2 = {}
print(dict2)
访问字典元素
print(dict1['name']) # 输出:Alice
修改字典元素
dict1['age'] = 26
print(dict1['age']) # 输出:26
添加字典元素
dict1['gender'] = 'female'
print(dict1) # 输出:{'name': 'Alice', 'age': 26, 'city': 'Beijing', 'gender': 'female'}
删除字典元素
del dict1['city']
print(dict1) # 输出:{'name': 'Alice', 'age': 26, 'gender': 'female'}、
判断字典是否为空
if not dict1:print('字典为空') # 输出:字典为空else:print('字典不为空') # 输出:字典不为空
遍历字典
for key in dict1:print(key, ':', dict1[key]) # 输出:name : Alice、age : 26、gender : female
for k,v in dict1.items():print(k, ':', v) # 输出:name : Alice、age : 26、gender : female
#dict()使用方法,里面的参数是2元组或者函数的参数
dict3 = dict(name='Bob', age=30, city='Shanghai')
print(dict3) # 输出:{'name': 'Bob', 'age': 30, 'city': 'Shanghai'}
list1 = [('name', 'Tom'), ('age', 35), ('city', 'Guangzhou')]
dict4 = dict(list1)
print(dict4) # 输出:{'name': 'Tom', 'age': 35, 'city': 'Guangzhou'}
2.常用方法
字典的常用方法
1.clear():清空字典
python dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'} dict1.clear() print(dict1) # 输出:{}
2.copy():复制字典
dict1= {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
dict2 = dict1.copy()
print(dict2) # 输出:{'name': 'Alice', 'age': 25, 'city': 'Beijing'}
3.fromkeys():创建指定键的字典,是一个类方法,参数为序列或迭代器,默认参数是None
dict.fromkeys(['name', 'age', 'city'], 'unknown') # 输出:{'name': 'unknown', 'age': 'unknown', 'city': 'unknown'}
d=dict.fromkeys(range(3))
print("d=",d)#输出:d= {0: None, 1: None, 2: None}
4.get():获取指定键的值
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.get('name')) # 输出:Alice
print(dict1.get('gender', 'unknown')) # 输出:unknown,不存在返回默认值,没有默认值返回None
5.items():以列表返回可遍历的(键, 值) 元组数组
6.keys():以列表返回字典所有的键
7.values():以列表返回字典所有的值
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.items()) # 输出:dict_items([('name', 'Alice'), ('age', 25), ('city', 'Beijing')])
print(dict1.keys()) # 输出:dict_keys(['name', 'age', 'city'])
print(dict1.values()) # 输出:dict_values(['Alice', 25, 'Beijing'])
8.pop():删除指定键的值,并返回该值
```python
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'} print(dict1.pop('name')) # 输出:Alice print(dict1) # 输出:{'age': 25, 'city': 'Beijing'}
9.popitem():随机删除一个键-值对,并返回该键-值对
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.popitem()) # 输出:('city', 'Beijing')
print(dict1) # 输出:{'name': 'Alice', 'age': 25}
10.setdefault():设置默认值
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
print(dict1.setdefault('gender', 'unknown')) # 输出:unknown
print(dict1) # 输出:{'name': 'Alice', 'age': 25, 'city': 'Beijing', 'gend`er': 'unknown'}`
11.update():更新字典
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
dict2 = {'gender': 'female'}
dict1.update(dict2)
print(dict1) # 输出:{'name': 'Alice', 'age': 25, 'city': 'Beijing', 'gender': 'female'}
12.并集运算符 |
dict1 = {'name': 'Alice', 'age': 25, 'city': 'Beijing'}
dict2 = {'gender': 'female'}
dict3 = dict1 | dict2
print(dict3) # 输出:{'name': 'Alice', 'age': 25, 'city': 'Beijing', 'gender': 'female'}
总结
字典的键必须是不可变对象,如字符串、数字、元组等,而值则可以是任意对象。
字典是一种可变容器,可以随时添加、删除或修改元素。
字典的键是通过哈希算法计算出来的,所以字典的查找速度非常快。
字典是一种映射类型,它的元素是键-值对。
字典的创建格式是{key1:value1, key2:value2,…, keyn:valuen}。
字典的键必须是不可变对象,而值可以是任意对象。
字典的键必须是唯一的,不能重复。
字典的键不能改变,但可以重新赋值。