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

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 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 字典是一种非常常用的数据类型,用于存储键-值对的集合。它提供了许多有用的内置方法,可以用于在字典中添加、删除、修改和访问数据。

目录
相关文章
|
6天前
|
C++ 开发者 Python
实现Python日志点击跳转到代码位置的方法
本文介绍了如何在Python日志中实现点击跳转到代码位置的功能,以提升调试效率。通过结合`logging`模块的`findCaller()`方法记录代码位置信息,并使用支持点击跳转的日志查看工具(如VS Code、PyCharm),开发者可以从日志直接点击链接定位到出错代码,加快问题排查。
15 2
|
6天前
|
索引 Python
Python 中寻找列表最大值位置的方法
本文介绍了Python中找列表最大值及其位置的三种方法:1) 使用内置`max()`和`index()`函数;2) 通过循环遍历;3) 利用`enumerate()`函数和生成器表达式。每种方法均附有示例代码,其中`enumerate()`方法在保证效率的同时代码更简洁。
33 2
|
6天前
|
JSON 数据处理 数据格式
Python中批量提取[]括号内第一个元素的四种方法
Python中批量提取[]括号内第一个元素的四种方法
23 1
|
6天前
|
SQL 关系型数据库 数据库连接
使用 Python 访问数据库的基本方法
【5月更文挑战第12天】在Python中操作数据库涉及安装数据库驱动(如mysql-connector-python, psycopg2, pymongo)、连接数据库、执行查询/更新、处理结果集及关闭连接。使用ORM(如SQLAlchemy)可简化操作。通过上下文管理器(with语句)能更好地管理资源和错误。注意根据实际需求处理事务、错误和安全性,例如使用SSL连接。
23 2
|
6天前
|
Python
【Python操作基础】——字典,迭代器和生成器
【Python操作基础】——字典,迭代器和生成器
|
6天前
|
Python
在Python中,全局变量和局部变量是两种不同类型的变量
【5月更文挑战第10天】Python中的全局变量在函数外部定义,作用域覆盖整个程序,生命周期从开始到结束。局部变量仅限于函数内部,生命周期从调用到返回。在函数内修改全局变量需用`global`关键字声明,否则会创建局部变量。
21 3
|
1天前
|
Python
2024年最新【Python】常见的 数据类型:整数类型,Python面试题整理最新
2024年最新【Python】常见的 数据类型:整数类型,Python面试题整理最新
2024年最新【Python】常见的 数据类型:整数类型,Python面试题整理最新
|
1天前
|
开发工具 Python
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
|
4天前
|
存储 索引 Python
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
【python学习】列表、元组、字典、集合,秋招是不是得到处面试
|
6天前
|
IDE 开发工具 Python
Python类型检查
【5月更文挑战第9天】Python类型检查
12 1