问题描述
如何简化以下内容:
imgs = []
for i,obj in enumerate(objlist):
imgs.append( foo(obj,f"img-{i}.png") )
where objlist
一个对象数组
foo
是一种处理对象并保存图像的方法,接收对象和新文件名,它返回给定的相同名称。
解决方法
这是向列表推导式的简单转换:
imgs = [foo(obj,f"img-{i}.png") for (i,obj) in enumerate(objlist)]
(顺便说一句,您忘记了 in
循环中的 for
。
此外,请参阅关于将嵌套 for 循环转换为单个列表推导式的一般问题的 this 答案。