python Queue组件使用 | Python工具类(2)

简介: python Queue组件使用 | Python工具类

双向队列

双向队列,顾名思义就是可以从队列两端进行处理:deque。

初始化,并塞入3个数据。



image.png


从左侧,也就是最前端塞入一个元素。看下效果。


image.png

 

可以自定义塞入元素的位置。



image.png


取出队尾的数据。



image.png


取出队首元素。



image.png

 

完整代码

import queue
# 单向队列
q = queue.Queue(5)
print(q.maxsize)
q.put(1)
q.put(2)
q.put(3)
print(q.full())
print(q.qsize())
print(q.get())
q.put(4)
q.put(5)
q.put(6)
q.put(7)
print(q.full())
print(q.qsize())
print(q.get())
# 先进后出队列
q = queue.LifoQueue(5)
q.put(1)
q.put(2)
q.put(3)
print(q.get())
# 优先级队列
q = queue.PriorityQueue(5)
q.put((5, "电"))
q.put((2, "雨"))
q.put((4, "雷"))
q.put((1, "风"))
while True:
    print(q.get())
# 双向队列
q = queue.deque()
q.append(1)
q.append(2)
q.append(3)
q.appendleft(4)
q.insert(2, 5)
print(q.pop())
print(q.popleft())

总结

在很多工程化架构中,队列数据类型是必不可少的。活学活用吧。哎,今年ti10,中国队又无缘冠军,明年加油吧。

相关文章
|
5月前
|
安全 开发者 Python
python队列(Queue)
python队列(Queue)
288 1
|
11月前
|
Python
117 python高级 - 进程间通信Queue
117 python高级 - 进程间通信Queue
40 0
|
2月前
|
数据采集 存储 安全
如何确保Python Queue的线程和进程安全性:使用锁的技巧
本文探讨了在Python爬虫技术中使用锁来保障Queue(队列)的线程和进程安全性。通过分析`queue.Queue`及`multiprocessing.Queue`的基本线程与进程安全特性,文章指出在特定场景下使用锁的重要性。文中还提供了一个综合示例,该示例利用亿牛云爬虫代理服务、多线程技术和锁机制,实现了高效且安全的网页数据采集流程。示例涵盖了代理IP、User-Agent和Cookie的设置,以及如何使用BeautifulSoup解析HTML内容并将其保存为文档。通过这种方式,不仅提高了数据采集效率,还有效避免了并发环境下的数据竞争问题。
如何确保Python Queue的线程和进程安全性:使用锁的技巧
|
5月前
|
安全
python_threading多线程、queue安全队列
python_threading多线程、queue安全队列
53 2
|
3月前
|
数据采集 Python
Python多进程:如何在不依赖Queue的情况下传递结果
本文探讨了在Python中使用多进程技术采集抖音短视频数据时,如何在不依赖队列(Queue)的情况下传递结果。文章首先介绍了多进程提高数据采集效率的背景,然后指出了队列在处理大量数据时可能成为性能瓶颈,并增加了系统复杂性。作为解决方案,提出了使用管道、共享内存和临时文件等替代方法。文章通过一个实战案例,详细演示了如何配置爬虫代理、设置请求头、实现定时器装饰器、抓取视频数据以及通过管道在子进程间传递结果。最后,文章总结了使用这些替代方案可以有效提高数据采集的效率和可靠性。
Python多进程:如何在不依赖Queue的情况下传递结果
|
2月前
|
Python
【python】】Python 的 queue 模块使用笔记
【python】】Python 的 queue 模块使用笔记
37 0
|
2月前
|
Python
Python生成Thinkphp6代码工具类
Python生成Thinkphp6代码工具类
18 0
|
2月前
|
Python
Python常用工具类
Python常用工具类
21 0
|
3月前
|
存储 对象存储 Python
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。它不需要Microsoft Excel,也不需要.NET或COM组件。
|
4月前
|
算法 数据中心 Python
基于python雪花算法工具类Snowflake-来自chatGPT
基于python雪花算法工具类Snowflake-来自chatGPT
107 4