python - 在 Python 3.8 中的 for 循环(或通过其他脚本)中迭代地命名数组
问题描述
我想从一个文件中导入 50 个单色 .tiff 图像matplotlib.image
,并将每个图像存储在一个单独的 2D numpy 数组中。对单个图像执行此操作很简单,并且适用于我的系统:
import matplotlib.image as mpimg
arr = mpimg.imread("file.tiff")
但是,我想对所有 50 个图像执行此操作(因此得到 50 个数组),但我无法找到一种简单的方法。我希望我可以使用 for 循环,并且可以迭代文件名:
# imagine our files are file0.tiff, file1.tiff,..., file49.tiff
for i in range(50):
arr = mpimg.imread("file" + str(i) + ".tiff")
但是,这只是(重新)定义了arr
50 次。问题是我不知道如何(自动)创建命名数组arr0, arr1, arr2...
等等。我无法想象我该怎么做,因为我能想到的创建数组名称的所有想法都涉及使用字符串,并且"arr"
与arr
. 那会得到我"arr0" = mpimg.imread("file0.tiff")
,这是行不通的。
有没有办法将变量(正/零整数)插入定义浮点/字符串/整数/布尔等的行的左侧?x
实际上x = 12
,x = numpy.array([...])
除了直接将自己输入代码之外,还有什么方法可以将数据插入x
到代码中?
我尝试使用逗号,但 Python 显然解释x,y = ...
为 2 元组的定义。
我可以做一些事情,比如创建一个列表["arr0","arr1","arr2",...]
,并以某种方式将图像与列表中每个字符串的内容相关联吗?
我试图避免使用包含 50 个图像的单个大数组,因为这需要一个包含大约 4300 万个元素的数组,而我运行此代码的计算机并不是特别强大。我仍然考虑将所有内容附加到这样的数组中,然后逐元素定义新数组,但这遇到了命名单个数组的相同问题。
解决方案
推荐阅读
- node.js - 将数据传递到 react-router 中的下一个屏幕
- c++ - 为什么这是“错误数量的模板参数”?
- visual-studio-code - 默认情况下如何使用预览笔记本编辑器打开 .ipyjn 文件
- powershell - 输入单个文件夹并执行 PowerShell 命令
- firebase - Firebase“CurrentUser displayName”不会随底页更新
- python - 使用梯度下降的线性回归;成本函数值有问题
- c++ - 如何以编程方式停止在 Qt 中编辑 QTreeWidget?
- java - 类之间有更好的关系吗?为什么?
- javascript - 正则表达式匹配长文本中的问题句子
- excel - Excel:如何从带有逻辑语句的列中创建一个动态的、唯一的下拉列表?