Python:限制数组中的元素数量

0 投票
2 回答
569 浏览
提问于 2025-04-17 18:37

我正在使用The Grinder工具,并且有一个Python脚本,这个脚本会执行一些Java的API,来收集最小值、最大值、执行次数和总执行次数(后面两个是为了计算平均执行时间)。这个过程是针对每个API进行的(它是一个多维数组),同时也针对每个线程。

#Contents of apiTimingsList array: [min, max, number of executions, total execution time]
apiTimingsList = [[9999,0,0,0] for j in range(len(apiList))]

我在调查一些内存问题,我觉得这个数组的不断增大可能会造成麻烦。因为在测试运行的过程中,它会持续增长。举个例子,如果我有10个API,并且运行900个线程,那么就会有9000个数组在测试进行时不断增大。

有没有办法限制这些数组的大小,比如只保留最近的x次执行,这样我的计算仍然有效,但数组就不会失控地增长了呢?

2 个回答

1

你可以使用来自collections模块的deque,它可能能满足你的需求。

3

你可以使用 collections.deque

>>> from collections import deque
>>> d = deque(maxlen=2)
>>> d.append(3)
>>> d.append(4)
>>> d.append(5)
>>> d
    deque([4, 5], maxlen=2)

撰写回答