【发布时间】:2021-07-17 00:59:53
【问题描述】:
如何简化以下内容:
imgs = []
for i, obj in enumerate(objlist):
imgs.append( foo(obj, f"img-{i}.png") )
其中objlist 一个对象数组
而foo 是一种处理对象并保存接收对象和新文件名的图像的方法,它返回给定的相同名称。
【问题讨论】:
标签: python arrays simplify one-liner
如何简化以下内容:
imgs = []
for i, obj in enumerate(objlist):
imgs.append( foo(obj, f"img-{i}.png") )
其中objlist 一个对象数组
而foo 是一种处理对象并保存接收对象和新文件名的图像的方法,它返回给定的相同名称。
【问题讨论】:
标签: python arrays simplify one-liner
这是到列表推导式的简单转换:
imgs = [foo(obj, f"img-{i}.png") for (i, obj) in enumerate(objlist)]
(顺便说一句,您在for 循环中忘记了in。
另外,请参阅this 关于将嵌套 for 循环转换为单个列表理解的一般问题的答案。
【讨论】: