Python - 如何将 list 列表作为数据结构使用
2024-10-21 06:35:02
列表作为栈使用
栈的特点
先进后出,后进先出
如何模拟栈?
- 先在堆栈尾部添加元素,使用 append()
- 然后从堆栈顶部取出一个元素,使用 pop()
# 模拟栈
stack = [1, 2, 3, 4, 5] # 进栈
stack.append(6)
stack.append(7) # 查看栈
print(stack) # 出栈
print(stack.pop()) print(stack) # 输出结果
[1, 2, 3, 4, 5, 6, 7]
7
[1, 2, 3, 4, 5, 6]
列表作为队列使用
队列的特点
先进先出,后进后出
list 能实现队列吗?
可以,但不推荐
- 列表用作先进先出的场景非常低效
- 因为在列表的末尾进行添加、移出元素非常快
- 但是在列表的头部添加、移出元素缺很慢,因为列表其余元素都必须移动一位
如何模拟队列?
使用 collections.deque ,它被设计成可以快速从两端添加或弹出元素
# collections.deque
from collections import deque # 声明队列
queue = deque(["polo", "yy", "mike"]) # 插入队列
queue.append("ok")
queue.append("world")
print(queue) # 移出队列
print(queue.popleft())
print(queue.popleft()) # 输出结果
deque(['polo', 'yy', 'mike', 'ok', 'world'])
polo
yy
最新文章
- nlp
- java程序打包成jar
- 搭建基于Jenkins salt-api的运维工具
- ASP.NET POST XML JSON数据,发送与接收
- myeclipse 引入jar包 (包括 jdbc 驱动引用)
- android 学习随笔十六(广播 )
- python字符串关键点总结
- 慕课网-安卓工程师初养成-4-12 Java循环跳转语句之 continue
- Mac 如何截屏(快捷键)
- PHP合并数组保留key值
- Ubuntu12.10硬盘安装
- [NOIP2011普及组]瑞士轮 JAVA实现
- JS快速排序和去重
- 在VM中安装Android4.4连接小米手环 之 在VM中安装Android4.4
- Android性能测试工具Emmagee
- canvas元素
- TestNG的使用方法
- Day07 (黑客成长日记) 函数的参数及作用
- [HTML/CSS]三角形
- Spring Security(二十三):6.5 The Default AccessDecisionManager(默认接入策略管理)
热门文章
- mongodb(27017、28017)未授权访问
- DC-8靶机
- Spring Cloud分区发布实践(6)--灰度服务-根据Header选择实例区域
- CVPR2021 | Transformer用于End-to-End视频实例分割
- docker报错Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
- ABP框架使用Oracle数据库,并实现从SQLServer中进行数据迁移的处理
- 在Linux系统上查找文件
- luogu P6239 奇怪的道路
- redis支持的数据类型有哪些?
- mac Charles抓包