python基础篇: 详解 Python 字典类型内置方法

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时数仓Hologres,5000CU*H 100GB 3个月
简介: python基础篇: 详解 Python 字典类型内置方法

Python中的字典是一种非常有用的数据类型,它可以用于存储键值对。字典中的键是唯一的,并且只能使用不可变的数据类型,如字符串、数字或元组作为键。在本篇文章中,我们将介绍Python字典类型的常见操作及其内置方法。

Python 有一组可用于字典的内置方法:

方法 描述
clear 从字典中删除所有元素
copy 返回指定字典的副本。
get 返回具有指定键的项目的值。
items 返回一个视图对象。视图对象包含字典的键值对,作为列表中的元组。
keys 返回一个视图对象。视图对象包含字典的键,作为列表。
pop 从字典中删除指定的项目,并返回该元素的值。
popitem 返回工具有指定键和值得的字典。
setdefault 返回指定键的值,如果键不存在,则将键插入字符串并返回指定的默认值。
update 使用一个字典中的键值更新另一个字典。
values 返回字典中所有有价值的列表。

创建字典

在Python中,可以使用花括号{}来创建一个空字典,也可以使用键值对来初始化字典。以下是几个创建字典的示例:

# 创建一个空字典
my_dict = {
   }

# 创建一个包含三个键值对的字典
my_dict = {
   'apple': 2, 'banana': 3, 'orange': 4}

访问字典

可以使用方括号操作符来访问字典中的值,其中方括号内为键名。如果键名不存在,会抛出KeyError异常。

# 访问字典中的值
my_dict = {
   'apple': 2, 'banana': 3, 'orange': 4}
print(my_dict['apple'])  # 输出2

# 访问不存在的键
# print(my_dict['pear'])  # KeyError: 'pear'

可以使用get()方法来访问字典中的值,如果键名不存在,则返回默认值。如果未指定默认值,则返回None。

# 使用get()方法访问字典中的值
my_dict = {
   'apple': 2, 'banana': 3, 'orange': 4}
print(my_dict.get('apple'))  # 输出2

# 访问不存在的键
print(my_dict.get('pear'))  # 输出None

# 使用get()方法访问不存在的键,返回默认值
print(my_dict.get('pear', 0))  # 输出0

添加和修改字典

可以使用方括号操作符来添加和修改字典中的值,其中方括号内为键名。

# 添加和修改字典中的值
my_dict = {
   'apple': 2, 'banana': 3, 'orange': 4}
my_dict['apple'] = 5  # 修改键'apple'的值
my_dict['pear'] = 6  # 添加键'pear'的值
print(my_dict)  # 输出{'apple': 5, 'banana': 3, 'orange': 4, 'pear': 6}

删除字典

可以使用del语句来删除字典中的键值对或整个字典。

# 删除字典中的键值对
my_dict = {
   'apple': 2, 'banana': 3, 'orange': 4}
del my_dict['apple']  # 删除键'apple'的值
print(my_dict)  # 输出{'banana': 3, 'orange': 4}

# 删除整个字典
del my_dict
# print(my_dict)  # NameError: name 'my_dict' is not defined

常用字典方法

clear()

该方法用于删除字典内的所有元素。

# 示例
my_dict = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}
my_dict.clear()
print(my_dict)  # 输出 {}

Copy

该方法用于返回字典的浅复制(shallow copy)

# 示例
my_dict = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}
new_dict = my_dict.copy()
print(new_dict)  # 输出 {'name': 'Alice', 'age': 25, 'city': 'New York'}

get()

get(key, default=None)方法用于返回指定键的值。如果键不存在于字典中,则返回默认值。

# 示例
my_dict = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict.get('name'))  # 输出 'Alice'
print(my_dict.get('gender', 'Unknown'))  # 输出 'Unknown'

items()

该方法返回字典的键值对,以元组形式存储。

# 示例
my_dict = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict.items())  # 输出 dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])

keys()

该方法返回字典的所有键。

# 示例
my_dict = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}
print(my_dict.keys())  # 输出 dict_keys(['name', 'age', 'city'])

pop()

pop(key[, default])方法用于删除并返回指定键对应的值。如果键不存在,则返回默认值。如果省略了默认值,则会触发 KeyError。

# 示例
my_dict = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}
name = my_dict.pop('name')
print(name)  # 输出 'Alice'
print(my_dict)  # 输出 {'age': 25, 'city': 'New York'}

popitem()

popitem()方法用于删除并返回字典中的一对键值对,以(键,值)的形式返回。如果字典为空,则触发 KeyError。

# 示例
my_dict = {
   'name': 'Alice', 'age': 25, 'city': 'New York'}
item = my_dict.popitem()
print(item)  # 输出 ('city', 'New York')
print(my_dict)  # 输出 {'name': 'Alice', 'age': 25}

setdefault()

setdefault(key[, default])方法用于返回指定键对应的值。如果键不存在,则插入一个指定的键值对,其中值为默认值(如果指定了)。

# 示例
my_dict = {
   'name': 'Alice', 'age': 25}
gender = my_dict.setdefault('gender', 'Unknown')
print(gender)  # 输出 'Unknown'
print(my_dict)  # 输出 {'name': 'Alice', 'age': 25, 'gender': 'Unknown'}

update()

是Python字典类型的一个内置方法,用于将一个字典的键值对更新到另一个字典中。它可以接受另一个字典或可迭代对象作为参数,并将其键值对添加到原始字典中。如果有相同的键,则更新原始字典中的值。

update()方法的语法如下:

dict.update([other])

其中,dict是要更新的字典,other是要更新的字典或可迭代对象。

例如,我们有两个字典:

dict1 = {
   "apple": 2, "banana": 3, "orange": 4}
dict2 = {
   "orange": 5, "peach": 6}

我们可以使用update()方法将dict2中的键值对更新到dict1中:

dict1.update(dict2)

执行完上面的代码后,dict1的值变为:

{
   "apple": 2, "banana": 3, "orange": 5, "peach": 6}

可以看到,dict2中的键值对已经被更新到了dict1中,并且orange的值已经从4更新为5。

除了字典,update()方法还可以接受其他可迭代对象作为参数,例如列表、元组等。当传递一个可迭代对象时,它应该是一个包含键值对元组的序列。

update()方法会直接修改原始字典,而不是返回一个新的字典。如果需要创建一个新的字典并将原始字典与其他字典或可迭代对象组合起来,请使用{ dict1, dict2}语法。

总结

Python 字典是一种非常常用的数据类型,用于存储键-值对的集合。它提供了许多有用的内置方法,可以用于在字典中添加、删除、修改和访问数据。

目录
相关文章
|
15天前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
121 1
|
2月前
|
机器学习/深度学习 数据采集 数据挖掘
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
基于 GARCH -LSTM 模型的混合方法进行时间序列预测研究(Python代码实现)
|
15天前
|
IDE 开发工具 开发者
Python类型注解:提升代码可读性与健壮性
Python类型注解:提升代码可读性与健壮性
191 102
|
8天前
|
人工智能 数据安全/隐私保护 异构计算
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
97 8
桌面版exe安装和Python命令行安装2种方法详细讲解图片去水印AI源码私有化部署Lama-Cleaner安装使用方法-优雅草卓伊凡
|
9天前
|
存储 JSON 数据管理
Python字典:高效数据管理的瑞士军刀
Python字典基于哈希表实现,提供接近O(1)的高效查找,支持增删改查、遍历、合并等丰富操作,广泛应用于计数、缓存、配置管理及JSON处理。其灵活性与性能使其成为数据处理的核心工具。
187 0
|
20天前
|
算法 调度 决策智能
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
|
2月前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
136 4
|
1月前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
44 0
|
2月前
|
机器学习/深度学习 数据采集 TensorFlow
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
基于CNN-GRU-Attention混合神经网络的负荷预测方法(Python代码实现)
|
Python
Python:获取类中除内置方法外的所有方法名
Python:获取类中除内置方法外的所有方法名
212 0

推荐镜像

更多