我已经定义了3个数组:
array1[:,:,:]
array2[:,:,:]
array3[:,:,:]
在Unix中,我将执行以下操作:
for ((i=1;i<4;i++))
do
a = array$i[:,:,:]*1000
echo a
done
这将给出:
array1[:,:,:]
array2[:,:,:]
array3[:,:,:]
如何在Python的for循环中执行此操作?
答案 0 :(得分:3)
完全合法的好方法吗?将这3个数组放在列表中,然后遍历该列表。
a1 = [1, 2, 3]
a2 = [4, 5]
a3 = [6]
array_list = [a1, a2, a3]
for a in array_list:
print(a)
输出:
[1, 2, 3]
[4, 5]
[6]
这是理想的方法,理想情况下,您不应该摆弄名字。但是,是否可以使用全局变量。
a1 = [1, 2, 3]
a2 = [4, 5]
a3 = [6]
for i in range(1, 4): #range is right exclusive
print(globals()['a' + str(i)])
输出:
[1, 2, 3]
[4, 5]
[6]
但是,仅仅因为有可能并不意味着建议这样做。
答案 1 :(得分:0)
要在python中执行此操作,像这样使用dict
更加有意义(而我忽略了[:,:,:]
是语法错误):
arrays = {}
arrays[1] = [:,:,:]
arrays[2] = [:,:,:]
arrays[3] = [:,:,:]
for i in arrays:
a = arrays[i] * 1000
print(a)