繁体   English   中英

使用for循环python循环遍历数组名称

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM