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

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 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 字典是一种非常常用的数据类型,用于存储键-值对的集合。它提供了许多有用的内置方法,可以用于在字典中添加、删除、修改和访问数据。

目录
相关文章
|
1月前
|
存储 索引 Python
Python散列类型(1)
【10月更文挑战第9天】
|
1月前
|
测试技术 API Python
【10月更文挑战第1天】python知识点100篇系列(13)-几种方法让你的电脑一直在工作
【10月更文挑战第1天】 本文介绍了如何通过Python自动操作鼠标或键盘使电脑保持活跃状态,避免自动息屏。提供了三种方法:1) 使用PyAutoGUI,通过安装pip工具并执行`pip install pyautogui`安装,利用`moveRel()`方法定时移动鼠标;2) 使用Pymouse,通过`pip install pyuserinput`安装,采用`move()`方法移动鼠标绝对位置;3) 使用PyKeyboard,同样需安装pyuserinput,模拟键盘操作。文中推荐使用PyAutoGUI,因其功能丰富且文档详尽。
WK
|
19天前
|
Python
Python中format_map()方法
在Python中,`format_map()`方法用于使用字典格式化字符串。它接受一个字典作为参数,用字典中的键值对替换字符串中的占位符。此方法适用于从字典动态获取值的场景,尤其在处理大量替换值时更为清晰和方便。
WK
67 36
|
29天前
|
存储 数据安全/隐私保护 索引
|
30天前
|
机器学习/深度学习 数据采集 数据挖掘
11种经典时间序列预测方法:理论、Python实现与应用
本文将总结11种经典的时间序列预测方法,并提供它们在Python中的实现示例。
63 2
11种经典时间序列预测方法:理论、Python实现与应用
|
26天前
|
开发者 Python
Python中的魔法方法与运算符重载
在Python的奇妙世界里,魔法方法(Magic Methods)和运算符重载(Operator Overloading)是两个强大的特性,它们允许开发者以更自然、更直观的方式操作对象。本文将深入探讨这些概念,并通过实例展示如何利用它们来增强代码的可读性和表达力。
WK
|
30天前
|
存储 Python
Python内置类型名
Python 内置类型包括数字类型(int, float, complex)、序列类型(str, list, tuple, range)、集合类型(set, frozenset)、映射类型(dict)、布尔类型(bool)、二进制类型(bytes, bytearray, memoryview)、其他类型(NoneType, type, 函数类型等),提供了丰富的数据结构和操作,支持高效编程。
WK
16 2
|
1月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
1月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
1月前
|
Linux Python
Python获得本机本地ip地址的方法
【10月更文挑战第8天】 socket模块包含了丰富的函数和方法,可以获取主机的ip地址,例如gethostbyname方法可以根据主机名获取ip地址,gethostbyname_ex方法可以获得本机所有ip地址列表,也可以使用netifaces模块获取网卡信息。
36 0