[英]loop through array names using for loop python
我有3个已定义的数组:
array1[:,:,:]
array2[:,:,:]
array3[:,:,:]
在Unix中我会做以下事情:
for ((i=1;i<4;i++))
do
a = array$i[:,:,:]*1000
echo a
done
这会给:
array1[:,:,:]
array2[:,:,:]
array3[:,:,:]
我怎样才能在for循环中用Python做到这一点?
完全合法的好方法? 将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]
但是,仅仅因为它可能并不意味着它是推荐的。
要在python中执行此操作,使用像这样的dict
更有意义(我忽略了[:,:,:]
是语法错误):
arrays = {}
arrays[1] = [:,:,:]
arrays[2] = [:,:,:]
arrays[3] = [:,:,:]
for i in arrays:
a = arrays[i] * 1000
print(a)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.