Python:限制数组中的元素数量
我正在使用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)