简化数组处理并枚举到单行

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”

以上是关于简化数组处理并枚举到单行的主要内容,如果未能解决你的问题,请参考以下文章

每日前进一小步Java编程-for语句的简化写法

枚举还可以简化查询???

枚举还可以简化查询???

ts的枚举类型简化if else if判断

如何用bat批处理进行简化快速文件搜索,并将结果输出到列表文件

使用范围简化数组查询