python - 简化数组处理并枚举到单行
问题描述
如何简化以下内容:
imgs = []
for i, obj in enumerate(objlist):
imgs.append( foo(obj, f"img-{i}.png") )
其中objlist
对象数组和foo
是处理对象并保存接收对象和新文件名的图像的方法,它返回给定的相同名称。
解决方案
这是到列表推导的简单转换:
imgs = [foo(obj, f"img-{i}.png") for (i, obj) in enumerate(objlist)]
in
(顺便说一句,您忘记了for
循环中的内容。
此外,有关将嵌套 for 循环转换为单个列表理解的一般问题,请参阅此答案。
推荐阅读
- r - 在 R 中编写函数来修改数据框列表时遇到问题
- google-chrome - 不支持直通,运行量角器自动化脚本时禁用 GL
- r - 如何创建一个函数来改变具有变量名和“_pct”的新列?
- spring-boot - 是否可以为单个 Spring Rest 端点自定义 ObjectMapper?
- java - Postgres 中带有嵌套 SELECT 子句的原子更新
- python - 定义一个函数来判断一个文件是否存在
- dji-sdk - 如何在 dji sdk 中开发具有多个兴趣点的航点
- sql - 如何从通过主键链接到每个表的两个表中删除行?
- java - 无法在 Spring Boot 2.5.0 中获取具有关联的结果
- android - 连接到 IP 时出现错误(套接字失败:EPERM)