python dict字典

简介: python dict字典

mapping 对象会将 hashable 值映射到任意对象。 映射属于可变对象。 目前仅有一种标准映射类型 字典。 (关于其他容器对象请参看 list, set 与 tuple 等内置类,以及 collections 模块。)


字典的键 几乎 可以为任何值。 不是 hashable 的值,即包含列表、字典或其他可变类型(按值比较而非按对象标识比较)的值不可被用作键。 比较结果相等的值(如 1, 1.0 和 True 等)可被互换使用以索引同一个字典条目。


前言

在 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}。

字典的键必须是不可变对象,而值可以是任意对象。

字典的键必须是唯一的,不能重复。

字典的键不能改变,但可以重新赋值。



相关文章
|
19天前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
14 1
|
3月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
61 13
|
3月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
42 2
|
3月前
|
Python
python 如何将QueryDict转化为dict | 18
python 如何将QueryDict转化为dict | 18
|
3月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
159 4
|
3月前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
21 1
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
40 0
|
2月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
33 0
|
2月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
33 0
|
2月前
|
存储 Java Serverless
【Python】字典
【Python】字典
35 1