求助:迭代生成矩阵并将矩阵与耗时存入trials列表
实现方案
没问题,这需求很清晰,我来给你写一段可直接复用的代码,完美匹配你的要求:
首先我们需要用到time模块来精准计时,然后按照你的遍历规则循环执行即可。下面是完整代码:
import time # 假设你的generate.board函数已经定义好了 # def generate.board(n, p): # # 你的矩阵生成逻辑 # return matrix # 初始化存储结果的空列表 trials = [] # 遍历n从10到100,步长为10 for n in range(10, 101, 10): # 每个n迭代运行10次 for _ in range(10): # 记录开始时间 start_time = time.perf_counter() # 调用生成矩阵的函数,这里p参数你可以根据实际需求传入具体值,比如0.5 board_matrix = generate.board(n, p=0.5) # 记录结束时间并计算耗时 elapsed_time = time.perf_counter() - start_time # 将矩阵和耗时存入trials列表,用字典存储更清晰,方便后续提取数据 trials.append({ "n_value": n, "matrix": board_matrix, "time_taken": elapsed_time })
关键细节说明:
- 用
time.perf_counter()来计时是因为它提供了最高精度的计时器,非常适合测量短时间的代码运行耗时 - 我们用字典来存储每次运行的结果,这样后续你想提取某个n对应的所有耗时、或者某个矩阵的生成时间时,会非常方便
- 循环
range(10, 101, 10)确保了n会取到10、20...直到100(因为range是左闭右开区间,所以终止值设为101) - 如果你的
p参数有固定值,直接替换代码里的p=0.5即可,或者如果p是动态的也可以根据需求调整
运行这段代码后,trials列表里就会包含所有10个n值、每个n运行10次的矩阵数据和对应耗时啦!
内容的提问来源于stack exchange,提问作者user8248672
相关产品推荐
相关产品推荐

