python dict字典

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 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}。

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

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

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



相关文章
|
9月前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
498 2
|
10月前
|
存储 JSON 数据管理
Python字典:高效数据管理的瑞士军刀
Python字典基于哈希表实现,提供接近O(1)的高效查找,支持增删改查、遍历、合并等丰富操作,广泛应用于计数、缓存、配置管理及JSON处理。其灵活性与性能使其成为数据处理的核心工具。
773 0
|
10月前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
326 0
|
11月前
|
存储 数据处理 Python
python dict的所有基础知识
python dict的所有基础知识
625 0
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
1186 1
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
774 2
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
408 1
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
918 13
|
存储 Java Serverless
【Python】字典
【Python】字典
231 1
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
356 2

推荐镜像

更多