如何在python中获得生成器中项目的编号?

2024-04-20 08:22:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在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: 实例inhost列表forlen时间generator
1条回答
网友
1楼 · 发布于 2024-04-20 08:22:00

您无法从生成器本身获得所解释的here估计值。你知道吗

但是,如果生成器是您自己平台的一部分,那么您很可能可以向同一类或模块添加一个函数,这样就可以估计生成器的总大小。你知道吗

例如,如果您正在使用生成器从文件中读取句子或单词列表,则可以根据文件大小估计生成的项目的总数,这可以通过恒定的计算成本(sys调用)获得。你知道吗

根据您的应用程序和数据,您可以应用类似的启发式方法来估计总大小。你知道吗

相关问题 更多 >