Day18 : 线性数据结构
线性数据结构是编程中非常基础且重要的概念,主要包括以下几种数据结构:
列表 (List) 元组 (Tuple) 字典 (Dictionary) 集合 (Set) 队列 (Queue) 栈 (Stack)
在本节中,我们将逐一探讨这些数据结构的特点、使用场景、操作方法以及示例代码。
1. 列表 (List)
1.1 概述
列表是Python中最常用的线性数据结构,可以存储多个项目。 列表是可变的,允许重复元素。
1.2 常用操作
操作 描述 示例代码 创建列表 使用中括号[]
my_list = [1, 2, 3, 4]
访问元素 用索引访问元素 my_list[0]
# 1修改元素 直接赋值 my_list[1] = 5
添加元素 使用append()
my_list.append(6)
删除元素 使用remove()
my_list.remove(2)
列表长度 使用len()
len(my_list)
# 5
1.3 示例代码
my_list = [ 1 , 2 , 3 , 4 ]
print ( "原始列表:" , my_list)
my_list. append( 5 )
print ( "添加元素后:" , my_list)
my_list. remove( 2 )
print ( "删除元素后:" , my_list)
my_list[ 0 ] = 10
print ( "修改元素后:" , my_list)
print ( "第一个元素:" , my_list[ 0 ] )
print ( "列表长度:" , len ( my_list) )
1.4 代码运行流程图
+---------------------+
| 创建列表 |
| my_list = [1, 2, 3, 4] |
+----------+----------+|v
+----------+----------+
| print("原始列表:", my_list)|
+----------+----------+|v
+----------+----------+
| 添加元素 |
| my_list.append(5) |
+----------+----------+|v
+----------+----------+
| print("添加元素后:", my_list) |
+----------+----------+
2. 元组 (Tuple)
2.1 概述
2.2 常用操作
操作 描述 示例代码 创建元组 使用小括号()
my_tuple = (1, 2, 3)
访问元素 用索引访问元素 my_tuple[0]
# 1合并元组 使用+
new_tuple = my_tuple + (4,)
元组长度 使用len()
len(my_tuple)
# 3
2.3 示例代码
my_tuple = ( 1 , 2 , 3 )
print ( "原始元组:" , my_tuple)
print ( "第一个元素:" , my_tuple[ 0 ] )
new_tuple = my_tuple + ( 4 , )
print ( "合并后元组:" , new_tuple)
print ( "元组长度:" , len ( my_tuple) )
3. 字典 (Dictionary)
3.1 概述
字典是一种可变的键值对数据结构,用于存储数据(无序)。
3.2 常用操作
操作 描述 示例代码 创建字典 使用花括号{}
my_dict = {'a': 1, 'b': 2}
访问元素 用键访问值 my_dict['a']
# 1添加或更新 直接赋值 my_dict['c'] = 3
删除元素 使用del
del my_dict['b']
字典长度 使用len()
len(my_dict)
# 2
3.3 示例代码
my_dict = { 'a' : 1 , 'b' : 2 }
print ( "原始字典:" , my_dict)
print ( "a的值:" , my_dict[ 'a' ] )
my_dict[ 'c' ] = 3
print ( "更新字典:" , my_dict)
del my_dict[ 'b' ]
print ( "删除后字典:" , my_dict)
print ( "字典长度:" , len ( my_dict) )
4. 集合 (Set)
4.1 概述
集合是无序的且不包含重复元素的线性结构,支持数学集合运算。
4.2 常用操作
操作 描述 示例代码 创建集合 使用set()
或{}
my_set = {1, 2, 3}
添加元素 使用add()
my_set.add(4)
删除元素 使用remove()
my_set.remove(2)
集合长度 使用len()
len(my_set)
# 3
4.3 示例代码
my_set = { 1 , 2 , 3 }
print ( "原始集合:" , my_set)
my_set. add( 4 )
print ( "添加后集合:" , my_set)
my_set. remove( 2 )
print ( "删除后集合:" , my_set)
print ( "集合长度:" , len ( my_set) )
5. 队列 (Queue)
5.1 概述
队列是一种FIFO(先进先出)数据结构,常用于任务调度等场景。
5.2 常用操作
操作 描述 示例代码 创建队列 使用deque
from collections import deque
入队 使用append()
queue.append(1)
出队 使用popleft()
item = queue.popleft()
队列长度 使用len()
len(queue)
5.3 示例代码
from collections import deque
queue = deque( )
print ( "原始队列:" , queue)
queue. append( 1 )
queue. append( 2 )
print ( "入队后队列:" , queue)
item = queue. popleft( )
print ( "出队的元素:" , item)
print ( "出队后队列:" , queue)
print ( "队列长度:" , len ( queue) )
6. 栈 (Stack)
6.1 概述
栈是一种LIFO(后进先出)数据结构,适合用于撤销操作和递归等场景。
6.2 常用操作
操作 描述 示例代码 创建栈 使用list
stack = []
入栈 使用append()
stack.append(1)
出栈 使用pop()
item = stack.pop()
栈长度 使用len()
len(stack)
6.3 示例代码
stack = [ ]
print ( "原始栈:" , stack)
stack. append( 1 )
stack. append( 2 )
print ( "入栈后栈:" , stack)
item = stack. pop( )
print ( "出栈的元素:" , item)
print ( "出栈后栈:" , stack)
print ( "栈长度:" , len ( stack) )
7. 总结与练习
在本节中,我们涵盖了线性数据结构的基本概念和常用操作。接下来,您可以进行以下练习以加深理解:
7.1 练习题
列表 : 编写一个函数,接受一个列表并返回其中的最大值和最小值。元组 : 编写一个函数,接受一个元组,返回元组中偶数位置上的元素。字典 : 编写一个函数,接受一个字典,返回所有值的和。集合 : 编写一个函数,接受两个集合,返回它们的交集。队列 : 使用队列实现一个简单的任务调度程序,至少添加五个任务,并按顺序执行它们。栈 : 实现一个基本的计算器,支持加法、减法、乘法和除法,使用栈来存储操作数。
通过这些练习,您将获得对线性数据结构的深入理解,进一步提升编程能力。
怎么样今天的内容还满意吗?再次感谢观众老爷的观看。 最后,祝您早日实现财务自由,还请给个赞,谢谢!