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

时间:2013-03-10 23:12:44

标签: python arrays scripting jython

我正在使用The Grinder,我有一个Python脚本,它执行一些Java API来收集最小,最大,执行次数和总执行次数(后者2来获取平均执行时间)。这是为每个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 个答案:

答案 0 :(得分: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)

答案 1 :(得分:1)

deque模块中的collections可能会达到您想要的效果。