Python数据结构讲解字典

简介: Python数据结构讲解字典

在Python中,字典(Dictionary)是一种无序的数据结构,它存储了键值对(key-value pairs)的集合。字典的每个键都是唯一的,而值则可以是任意数据类型,包括列表、元组、字典等。

定义字典

字典使用大括号 {} 定义,键值对之间用冒号 : 分隔,不同键值对之间用逗号 , 分隔。

 

# 定义一个空字典

 

empty_dict = {}

 

 

 

# 定义一个包含多个键值对的字典

 

person = {

 

'name': 'Alice',

 

'age': 30,

 

'city': 'New York' 

 

}

 

 

 

# 字典的键可以是任何不可变类型,如字符串、数字或元组

 

# 但通常使用字符串作为键

 

dictionary_with_numbers = {

 

1: 'one',

 

2: 'two',

 

3: 'three' 

 

}

访问字典元素

通过键来访问字典中的值。

 

# 访问字典中的值

 

name = person['name']

 

print(name) # 输出:Alice

 

 

 

# 访问不存在的键会引发KeyError

 

# age = person['country'] # KeyError: 'country'

 

 

 

# 为了避免KeyError,可以使用get()方法,它允许你指定一个默认值

 

country = person.get('country', 'Not Specified')

 

print(country) # 输出:Not Specified

添加元素到字典

可以直接通过赋值的方式向字典中添加新的键值对。

 

# 添加新的键值对

 

person['occupation'] = 'Software Developer' 

 

print(person)

 

# 输出:{'name': 'Alice', 'age': 30, 'city': 'New York', 'occupation': 'Software Developer'}

修改字典元素

通过重新赋值来修改字典中的值。

 

# 修改字典中的值

 

person['age'] = 31 

 

print(person)

 

# 输出:{'name': 'Alice', 'age': 31, 'city': 'New York', 'occupation': 'Software Developer'}

删除字典元素

可以使用 del 关键字、pop() 方法或 popitem() 方法来删除字典中的元素。

 

# 使用del关键字删除键值对

 

del person['occupation']

 

print(person)

 

# 输出:{'name': 'Alice', 'age': 31, 'city': 'New York'}

 

 

 

# 使用pop()方法删除键值对,并返回被删除的值

 

occupation = person.pop('city')

 

print(occupation) # 输出:New York

 

print(person)

 

# 输出:{'name': 'Alice', 'age': 31}

 

 

 

# pop()方法也可以接受一个默认值,以防键不存在

 

default_value = person.pop('country', 'Not Specified')

 

print(default_value) # 输出:Not Specified

 

print(person)

 

# 输出:{'name': 'Alice', 'age': 31}

 

 

 

# popitem()方法删除并返回字典中的最后一个键值对(在Python 3.7+中,是最后插入的键值对)

 

item = person.popitem()

 

print(item) # 输出:('age', 31)

 

print(person)

 

# 输出:{'name': 'Alice'}

字典的遍历

可以遍历字典的键、值或键值对。

 

# 遍历字典的键

 

for key in person:

 

print(key)

 

# 输出:

 

# name

 

# age

 

 

 

# 遍历字典的值

 

for value in person.values():

 

print(value)

 

# 输出:

 

# Alice

 

# 31

 

 

 

# 遍历字典的键值对

 

for key, value in person.items():

 

print(key, value)

 

# 输出:

 

# name Alice

 

# age 31

字典在Python中是一种非常实用的数据结构,它们提供了快速查找、插入和删除键值对的能力,使得在处理复杂数据时非常高效。

 

目录
相关文章
|
25天前
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
28天前
|
存储 NoSQL 算法
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)(二)
【Redis技术进阶之路】「底层源码解析」揭秘高效存储模型与数据结构底层实现(字典)
47 0
|
2天前
|
JSON 数据可视化 定位技术
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
python_将包含汉字的字典数据写入json(将datav的全省数据中的贵州区域数据取出来)
7 0
|
4天前
|
JSON 数据格式 索引
python 又一个点运算符操作的字典库:Munch
python 又一个点运算符操作的字典库:Munch
21 0
|
11天前
|
Python
python学习-函数模块,数据结构,字符串和列表(下)
python学习-函数模块,数据结构,字符串和列表
55 0
|
16天前
|
安全 Python
python字典的内置方法
Python字典主要方法包括:`keys()`(返回所有键)、`values()`(返回所有值)、`items()`(返回所有键值对)、`get()`(安全取值,键不存在时返回默认值)、`setdefault()`(设置默认值)、`update()`(合并字典)、`pop()`(删除并返回值)、`clear()`(清空字典)、`copy()`(浅拷贝)、`fromkeys()`(新建字典并设置默认值)、`popitem()`(随机删除键值对)。
8 0
|
25天前
|
存储 Java 程序员
【Python】6. 基础语法(4) -- 列表+元组+字典篇
【Python】6. 基础语法(4) -- 列表+元组+字典篇
41 1
|
25天前
|
存储 Python
python基础篇: 详解 Python 字典类型内置方法
python基础篇: 详解 Python 字典类型内置方法
28 1
|
30天前
|
算法 Python
数据结构与算法 经典排序方法(Python)
数据结构与算法 经典排序方法(Python)
24 0
|
30天前
|
C语言 Python
Python字典推导式:高效构建字典的利器
在Python编程中,字典推导式(Dictionary Comprehension)是一种强大的构造工具,它允许我们以简洁的方式从现有可迭代对象创建新的字典。通过字典推导式,我们可以轻松地对数据进行转换、过滤或重新组织,以符合特定的需求。本文将深入探讨字典推导式的概念、语法和应用场景,帮助读者更好地掌握这一高效的编程工具。