Skip to main content
 首页 » 编程设计

Python:使用 List Comprehensions 而不是循环以提高性能

2025年05月04日9dflying

我有一个来自字典的类型(示例)

l =('1037_97',["a","b","c","d","e"]) 

我想保存一个文件(las 格式)但是Liblas只能写单点。

for l in Groups.iteritems(): 
    for p in xrange(len(l[1])): 
        file_out.write(l[1][p]) 

我正尝试使用如果可能 List Comprehensions 以节省代码并加速循环

请您参考如下方法:

循环理解不一定会加速循环。如果最终结果应该是一个列表,它们只会加速循环。列表理解比创建一个空列表并一个一个地附加到它更快。

在您的情况下,您希望将项目写入文件,而不是创建新列表。然后浪费了列表创建成本。

尽管您不需要 xrange() 调用,只需遍历 l[1]。您也不需要 .iteritems(),因为您忽略了键。使用 .itervalues() 代替:

for lst in Groups.itervalues(): 
    for p in lst: 
        file_out.write(p) 

我使用lst作为循环变量; l 在许多字体中很容易与 i 混淆。