Python中如何根据变量创建多个不同长度的命名数组?
解决方法
原代码无法生成x0到x29这些独立数组的原因是:循环里的x_j只是临时变量,每次迭代都会被新的数据覆盖,不会自动创建以x加数字命名的变量。针对不同长度数组的存储需求,推荐以下两种方案:
方案一:使用字典存储
字典可以用字符串作为键,正好对应你想要的x0、x1这类命名,同时能容纳不同长度的数组:
import numpy as np arrays = {} for j in range(30): arrays[f'x{j}'] = np.loadtxt(f'Fid{j}.txt', unpack=True)
需要访问某个数组时,直接通过键名调用,比如取第5个文件对应的数组:arrays['x5']
方案二:使用列表存储
如果不需要显式的x0这类命名,只需要按顺序访问,列表是更轻量的选择:
import numpy as np arrays = [] for j in range(30): arrays.append(np.loadtxt(f'Fid{j}.txt', unpack=True))
访问时通过索引调用,比如第0个文件对应的数组是arrays[0],第29个是arrays[29]
两种方案都不需要对数据做零填充,完全适配不同长度的数组存储需求。
内容的提问来源于stack exchange,提问作者Damuna Taliffato
相关产品推荐
相关产品推荐

