Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用1.72e+对发电机类型进行排序;python中的10个元素,根据第2节;列“?”;?_Python - Fatal编程技术网

如何使用1.72e+对发电机类型进行排序;python中的10个元素,根据第2节;列“?”;?

如何使用1.72e+对发电机类型进行排序;python中的10个元素,根据第2节;列“?”;?,python,Python,我有一个生成器对象,包含2个“列”和1.72e+10个“行”。我想根据第二列对生成器对象进行排序,像这样使用排序会花费大量时间。我不知道在生成器中谈论列和行是否有意义,但我使用引号,因为我不知道该怎么称呼它 sorted_list = sorted(list(generator_obj), key=lambda x: x[1], reverse=True) 有没有什么聪明的方法可以快速分类一个巨大的生

我有一个生成器对象,包含2个“列”和1.72e+10个“行”。我想根据第二列对生成器对象进行排序,像这样使用排序会花费大量时间。我不知道在生成器中谈论列和行是否有意义,但我使用引号,因为我不知道该怎么称呼它

sorted_list = sorted(list(generator_obj),
                     key=lambda x: x[1], 
                         reverse=True)
有没有什么聪明的方法可以快速分类一个巨大的生成器对象?我没有计算机科学背景,所以我想我也在想,花大量的时间对这么大的物体进行分类是否是不可避免的?此外,我认为在将
生成器作为
排序()
的参数提供之前,转换
生成器\u obj
会更快,这就是我不提交原始生成器的原因

我也尝试过使用与上述相同的结果进行排序:

list(generator_obj).sort(key=lambda x: x[1], reverse=True)

如果您只有一个比较函数,则排序需要
~N log N
时间

如果密钥是整数,则可以使用

无论哪种方式,排序一个“巨大的”序列都需要“巨大的”时间