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

本文涉及的产品
实时计算 Flink 版,5000CU*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 字典是一种非常常用的数据类型,用于存储键-值对的集合。它提供了许多有用的内置方法,可以用于在字典中添加、删除、修改和访问数据。

目录
相关文章
|
2月前
|
机器学习/深度学习 Python
堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能
本文深入探讨了堆叠集成策略的原理、实现方法及Python应用。堆叠通过多层模型组合,先用不同基础模型生成预测,再用元学习器整合这些预测,提升模型性能。文章详细介绍了堆叠的实现步骤,包括数据准备、基础模型训练、新训练集构建及元学习器训练,并讨论了其优缺点。
65 3
|
1天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
11 2
|
25天前
|
安全
Python-打印99乘法表的两种方法
本文详细介绍了两种实现99乘法表的方法:使用`while`循环和`for`循环。每种方法都包括了步骤解析、代码演示及优缺点分析。文章旨在帮助编程初学者理解和掌握循环结构的应用,内容通俗易懂,适合编程新手阅读。博主表示欢迎读者反馈,共同进步。
|
23天前
|
数据可视化 Python
以下是一些常用的图表类型及其Python代码示例,使用Matplotlib和Seaborn库。
通过这些思维导图和分析说明表,您可以更直观地理解和选择适合的数据可视化图表类型,帮助更有效地展示和分析数据。
64 8
|
1月前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
178 5
|
2月前
|
算法 决策智能 Python
Python中解决TSP的方法
旅行商问题(TSP)是寻找最短路径,使旅行商能访问每个城市一次并返回起点的经典优化问题。本文介绍使用Python的`ortools`库解决TSP的方法,通过定义城市间的距离矩阵,调用库函数计算最优路径,并打印结果。此方法适用于小规模问题,对于大规模或特定需求,需深入了解算法原理及定制策略。
45 15
|
2月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
20 1
|
2月前
|
机器学习/深度学习 人工智能 算法
强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用
本文探讨了强化学习在游戏AI中的应用,从基本原理、优势、应用场景到具体实现方法,以及Python在其中的作用,通过案例分析展示了其潜力,并讨论了面临的挑战及未来发展趋势。强化学习正为游戏AI带来新的可能性。
120 4
|
2月前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
34 2
|
2月前
|
Python
Python编程中的魔法方法(Magic Methods)
【10月更文挑战第40天】在Python的世界中,魔法方法就像是隐藏在代码背后的神秘力量。它们通常以双下划线开头和结尾,比如 `__init__` 或 `__str__`。这些方法定义了对象的行为,当特定操作发生时自动调用。本文将揭开这些魔法方法的面纱,通过实际例子展示如何利用它们来增强你的类功能。
25 1