详细内容或原文请订阅后点击阅览
超越列表:使用 Python Deque 实现实时滑动窗口
停止移动列表中的元素!了解为什么 collections.deque 是您下一个 Python 项目中高性能滑动窗口、线程安全队列和高效数据流的秘密。文章《超越列表:使用 Python Deque 实现实时滑动窗口》首先出现在 Towards Data Science 上。
来源:走向数据科学或简称为 deque,是一种不常见的集合类型。如果我们在互联网上搜索,我们会发现很多关于列表、字典和元组的信息,但关于双端队列的信息却很少。
Deque (也可以发音为“deck” )是 Python 中一种有趣且有用的集合类型。它与其他对象的不同之处在于,它只会容纳您想要的物品数量或更少,而绝不会更多。
双端队列将仅容纳您确定的项目数量。再也不会了。
套牌到底是什么?
因此,它就像使用 FIFO 系统(先进先出)的牌组一样工作。一旦甲板已满,如果您追加另一个项目,它将删除左侧的第一个元素并将新元素添加到右侧。
让我们看一些基本示例来理解这个集合。首先,从集合导入:from collections import deque。
创建双端队列
接下来,我们将创建一个简单的牌组并向其中添加最大长度为 3 的项目。
# 创建一个包含 3 个(或更少)元素的新双端队列
my_deck = 双端队列(maxlen = 3)
# 添加一个元素
my_deck.append(1)
my_deck.append(2)
my_deck.append(3)
# 查看
