简化数组处理并枚举到单行
Posted
技术标签:
【中文标题】简化数组处理并枚举到单行【英文标题】:Simplify array processing and enumerate to a one-liner 【发布时间】:2021-07-17 00:59:53 【问题描述】:如何简化以下内容:
imgs = []
for i, obj in enumerate(objlist):
imgs.append( foo(obj, f"img-i.png") )
其中objlist
一个对象数组
而foo
是一种处理对象并保存接收对象和新文件名的图像的方法,它返回给定的相同名称。
【问题讨论】:
【参考方案1】:这是到列表推导式的简单转换:
imgs = [foo(obj, f"img-i.png") for (i, obj) in enumerate(objlist)]
(顺便说一句,您在for
循环中忘记了in
。
另外,请参阅this 关于将嵌套 for 循环转换为单个列表理解的一般问题的答案。
【讨论】:
是的,我在代码动画过程中丢失了“in”以上是关于简化数组处理并枚举到单行的主要内容,如果未能解决你的问题,请参考以下文章