当前位置:
首页 > Python基础教程 >
-
Python 核心数据结构详解
Python 核心数据结构详解
在 Python 编程中,数据结构是组织和操作数据的基础。Python 提供了多种内置的数据结构,每种结构都有其独特的特性和使用场景。本文将深入探讨 Python 中的主要数据结构,包括列表、元组、字典和集合,帮助读者理解它们的使用方法和适用场景。
一、列表(List)
列表是 Python 中最常用的数据结构之一,它是一种有序的、可变的序列,可以包含不同类型的元素。
- 创建列表
empty_list = [] # 空列表
numbers = [1, 2, 3, 4, 5] # 包含整数的列表
mixed_list = [1, "two", 3.0, True] # 包含不同数据类型的列表
- 访问列表元素
numbers = [1, 2, 3, 4, 5]
print(numbers[0]) # 输出 1
print(numbers[-1]) # 输出 5
- 列表切片
numbers = [1, 2, 3, 4, 5]
print(numbers[1:4]) # 输出 [2, 3, 4]
print(numbers[:3]) # 输出 [1, 2, 3]
print(numbers[3:]) # 输出 [4, 5]
- 修改列表元素
numbers = [1, 2, 3, 4, 5]
numbers[2] = 10
print(numbers) # 输出 [1, 2, 10, 4, 5]
- 列表方法
-
append()
: 在列表末尾添加元素。 -
extend()
: 将一个可迭代对象的元素添加到列表末尾。 -
insert()
: 在指定位置插入元素。 -
remove()
: 删除第一个匹配的元素。 -
pop()
: 删除并返回指定位置的元素。 -
index()
: 返回第一个匹配元素的索引。 -
count()
: 返回匹配元素的出现次数。 -
sort()
: 对列表进行排序。 -
reverse()
: 反转列表。
二、元组(Tuple)
元组是一种有序的、不可变的序列,与列表类似,但一旦创建就不能修改。
- 创建元组
empty_tuple = () # 空元组
numbers = (1, 2, 3, 4, 5) # 包含整数的元组
mixed_tuple = (1, "two", 3.0, True) # 包含不同数据类型的元组
- 访问元组元素
numbers = (1, 2, 3, 4, 5)
print(numbers[0]) # 输出 1
print(numbers[-1]) # 输出 5
- 元组切片
numbers = (1, 2, 3, 4, 5)
print(numbers[1:4]) # 输出 (2, 3, 4)
print(numbers[:3]) # 输出 (1, 2, 3)
print(numbers[3:]) # 输出 (4, 5)
三、字典(Dictionary)
字典是一种无序的、可变的映射类型,用于存储键值对。
- 创建字典
empty_dict = {} # 空字典
person = {"name": "Alice", "age": 30, "city": "New York"}
- 访问字典元素
person = {"name": "Alice", "age": 30, "city": "New York"}
print(person["name"]) # 输出 "Alice"
print(person.get("age")) # 输出 30
- 修改字典元素
person = {"name": "Alice", "age": 30, "city": "New York"}
person["age"] = 35
person["email"] = "alice@example.com"
- 字典方法
-
keys()
: 返回字典中的所有键。 -
values()
: 返回字典中的所有值。 -
items()
: 返回字典中的所有键值对。 -
get()
: 获取指定键的值,如果键不存在则返回默认值。 -
pop()
: 删除并返回指定键的值。 -
popitem()
: 删除并返回最后一个键值对。 -
clear()
: 清空字典。
四、集合(Set)
集合是一种无序的、不包含重复元素的容器类型。
- 创建集合
empty_set = set() # 空集合
fruits = {"apple", "banana", "cherry"}
- 访问集合元素
fruits = {"apple", "banana", "cherry"}
for fruit in fruits:
print(fruit)
- 修改集合元素
fruits = {"apple", "banana", "cherry"}
fruits.add("orange")
fruits.remove("banana")
- 集合操作
-
union()
: 返回两个集合的并集。 -
intersection()
: 返回两个集合的交集。 -
difference()
: 返回两个集合的差集。 -
issubset()
: 判断一个集合是否是另一个集合的子集。 -
issuperset()
: 判断一个集合是否是另一个集合的超集。
五、总结
Python 的内置数据结构提供了丰富多样的工具,用于存储和操作数据。列表适用于需要频繁修改和访问元素的场景;元组适用于存储不可变的有序数据;字典适用于需要快速查找和映射的场景;集合适用于需要去重和集合运算的场景。掌握这些数据结构的使用方法和特性,能够帮助开发者编写出更加高效、可读和易于维护的代码。
最后,如果你对python语言还有任何疑问或者需要进一步的帮助,请访问https://www.xin3721.com 本站原创,转载请注明出处:https://www.xin3721.com
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
开启SQLSERVER数据库缓存依赖优化网站性能
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比