我有一个来自字典的类型(示例)
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 混淆。
