【发布时间】:2021-09-21 08:33:58
【问题描述】:
我正在尝试执行以下循环:
我有三个数组:
l, val_lambda, val_alpha,每个都包含10个值
和一个数据集,一个包含 1000 个类结果的列表,即 dataset[i] = traj_analysis(dt, X, Y, x, y, z) for x, y, z in l, val_lambda, val_alpha。
现在我想在一个文件上打印实例的类 traj_analysis 的结果之一 - 对文件夹有一定的关注。这是我写的:
the_vals = [(x, y, z) for x in val_lambda for y in val_alpha for z in l]
for (x, y, z) in tqdm(the_vals):
for data in datasets:
if x == data.par_lambda & y == data.par_alpha & z == data.l0:
filename_msd = './simulation/lamda =' +str(f'{x:.2f}')+'/ alpha ='+str(f'{y:.2f}')+'/cargo/l0='+str(f'{z:.2f}')+'/cargo_msd.csv'
os.makedirs(os.path.dirname(filename_msd), exist_ok=True)
np.savetxt(filename_msd, data.msd, delimiter=',')
不幸的是,我收到了这个错误:
输入类型不支持 ufunc 'bitwise_and',并且根据转换规则 ''safe'' 无法安全地将输入强制转换为任何支持的类型
有人可以帮助我以连贯的方式重新制定循环,也许还可以加快它的速度吗?
【问题讨论】:
-
不应该是
if x == data.par_lambda and y == data.par_alpha and z == data.l0:吗?
标签: python python-3.x for-loop save