我试图迭代一个元素列表,但是这个列表可能非常庞大,执行起来需要很长时间。我正在使用报纸api。我构建的for循环是:
for article in list_articles:
列表中的每一篇文章都是一个对象,格式如下:
^{pr2}$
我检查了有人建议使用xrange或range,但是在我的例子中这并不起作用,给出了一个类型错误:
TypeError: 'int' object is not iterable
如果有人能给我指出正确的方向,或者给我一些可以有效地增加对这个列表的迭代的想法,那就太棒了。在
Tags:
下面是一个小基准,让问题更有趣:
在我的机器里有:
^{pr2}$结论:使用习惯用法
for v in huge_list
进行迭代是一个非常好的选择,因此您应该分析一下瓶颈在哪里,这可能是在内部循环(项处理)中最好的方法是尽可能使用内置函数,例如分割字符串、连接字符串、分组等函数。。。在
可能的话,有列表理解或
map
。如果您需要通过操纵每个元素从另一个列表中构造一个列表,那么这就是它。在最好的方法是
for item in items
循环。在添加
让你成为一个Python程序员,成为一个更好的程序员的其中一件事是我提到的第二件事——列表理解和映射。很多时候,迭代一个列表只是为了构造一些可以用列表理解轻松完成的事情。例如:
您可以这样做得更好(更短、更快、更健壮):
^{pr2}$与现在的第一行相比,不需要更多的改变。在
相关问题 更多 >
编程相关推荐