gpt4 book ai didi

Python/Cython/Numpy 有效地维护一个最大长度的列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:36:16 24 4
gpt4 key购买 nike

我需要一些技巧或解决方案,以了解如何有效地维护限制在最大长度内的对象列表(字典或通过 Cython 自定义的 Python 类型)。

基本上这样做会花费太多时间:

my_list = [a, b, c, d, ....]
my_list = my_list[-50:]

有没有什么有效的方法可以使用 Python、Cython (C/C++) 和 Numpy 制作一个列表,它会忘记添加到超过阈值的最旧项目?例如超过 50 个项目。

最佳答案

Python 的集合模块有 deque或“双端队列”,可以在数组的开头或结尾有效地操作。你可以像这样给一个最大尺寸

from collections import deque
d = deque(maxlen=5)

d.extend(range(4)) # -> [0,1,2,3] # before maxlen
d.append(4) # -> [0,1,2,3,4] # at max len
d.append(5) # -> [1,2,3,4,5] # drops first entry on appending beyond maxlen

关于Python/Cython/Numpy 有效地维护一个最大长度的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52054532/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com