Python3基础教程
Python3数据结构
## 将列表当做栈使用 栈是一种后进先出(LIFO, Last-In-First-Out)数据结构,意味着最后添加的元素最先被移除。 栈操作 压入(Push): 将一个元素添加到栈的顶端。 弹出(Pop): 移除并返回栈顶元素。 查看栈顶元素(Peek/Top): 返回栈顶元素而不移除它。 检查是否为空(IsEmpty): 检查栈是否为空。 获取栈的大小(Size): 获取栈中元素的数量。 1、创建一个空栈 stack = [] 2、压入(Push)操作 stack.append(1) #使用 append() 方法将元素添加到栈的顶端: stack.append(2) stack.append(3) 3、弹出(Pop)操作 top_element = stack.pop() #使用 pop() 方法移除并返回栈顶元素 4、查看栈顶元素(Peek/Top) top_element = stack[-1] #直接访问列表的最后一个元素(不移除) 5、检查是否为空(IsEmpty) is_empty = len(stack) == 0 6、获取栈的大小(Size) size = len(stack) class Stack: def __init__(self): self.stack = [] def push(self, item): self.stack.append(item) def pop(self): if not self.is_empty(): return self.stack.pop() else: raise IndexError("pop from empty stack") def peek(self): if not self.is_empty(): return self.stack[-1] else: raise IndexError("peek from empty stack") def is_empty(self): return len(self.stack) == 0 def size(self): return len(self.stack) ## 将列表当作队列使用 队列是一种先进先出(FIFO, First-In-First-Out)的数据结构,意味着最早添加的元素最先被移除。 但由于列表的特点,直接使用列表来实现队列并不是最优的选择。 如果频繁地在列表的开头插入或删除元素,性能会受到影响,因为这些操作的时间复杂度是 O(n)。 为了解决这个问题,Python 提供了 collections.deque,它是双端队列,可以在两端高效地添加和删除元素。 from collections import deque # 创建一个空队列 queue = deque() # 向队尾添加元素 queue.append('a') queue.append('b') queue.append('c') # 从队首移除元素 first_element = queue.popleft() # 查看队首元素(不移除) front_element = queue[0] # 检查队列是否为空 is_empty = len(queue) == 0 # 获取队列大小 size = len(queue)
顶部
收展
底部
[TOC]
目录
Python 环境搭建
Python3基础语法
Python3基本数据类型
Python3运算符
Python3数字(Number)
Python3字符串
Python3列表
Python3元组
Python3字典
Python3集合
Python3条件控制
Python3循环语句
Python推导式
Python3迭代器与生成器
Python3函数
Python3模块
Python3输入和输出
Python3数据结构
Python3读和写文件
Python3 OS 文件/目录方法
Python3错误和异常
相关推荐
Python爬虫