我在Python2.7中有一个很大的(这次可能是22^56左右)生成器。我想知道生成器中有多少项,以便估计完成任务的时间。不幸的是,当我尝试列表理解的len()时,它杀死了整个python实例。。。你知道吗
>>> len([i for i in giant_word_list_generator])
Killed: 9
[user@host:~/Documents/work/bin|16:59:28]
$
如何估计生成器中用于进度估计的项目数?我可以估计到最接近的.25个数量级(例如250000000或50000)
Tags:
您无法从生成器本身获得所解释的here估计值。你知道吗
但是,如果生成器是您自己平台的一部分,那么您很可能可以向同一类或模块添加一个函数,这样就可以估计生成器的总大小。你知道吗
例如,如果您正在使用生成器从文件中读取句子或单词列表,则可以根据文件大小估计生成的项目的总数,这可以通过恒定的计算成本(sys调用)获得。你知道吗
根据您的应用程序和数据,您可以应用类似的启发式方法来估计总大小。你知道吗
相关问题 更多 >
编程相关推荐