首页 > 解决方案 > 简化数组处理并枚举到单行

问题描述

如何简化以下内容:

imgs = []
for i, obj in enumerate(objlist):
    imgs.append(  foo(obj, f"img-{i}.png")  )

其中objlist对象数组和foo是处理对象并保存接收对象和新文件名的图像的方法,它返回给定的相同名称。

标签: pythonarrayssimplifyone-liner

解决方案


这是到列表推导的简单转换:

imgs = [foo(obj, f"img-{i}.png") for (i, obj) in enumerate(objlist)]

in(顺便说一句,您忘记了for循环中的内容。

此外,有关将嵌套 for 循环转换为单个列表理解的一般问题,请参阅此答案。


推荐阅读