在python中的while循环内创建固定大小的数组

时间:2019-07-05 08:58:50

标签: python arrays

我正在尝试在while循环中创建固定大小的数组。由于我不知道必须创建多少个数组,因此我使用循环在while循环中初始化它们。我面临的问题是数组声明,我希望每个数组的名称以while循环的索引结尾,因此以后对我的计算很有用。我不希望找到一个简单的出路,但是如果有人可以将我指向正确的方向,那将是很好的

我尝试使用arrayname + str(i)。这将返回错误“无法分配给操作员”。

#parse through the Load vector sheet to load the values of the stress  vector into the dataframe
Loadvector = x2.parse('Load_vector')

Lvec_rows = len(Loadvector.index)
Lvec_cols = len(Loadvector.columns)

i = 0
while i < Lvec_cols:
    y_values + str(i) = np.zeros(Lvec_rows)
    i = i +1 

我希望创建名称为arrayname1,arrayname2 ...的数组。

1 个答案:

答案 0 :(得分:2)

我认为标题有些误导。

一种简单的方法是使用字典:

dict_of_array = {}
i = 0
while i < Lvec_cols:
    dict_of_array[y_values + str(i)] = np.zeros(Lvec_rows)
    i = i +1 

您可以通过arrayname1访问dict_of_array[arrayname1]

如果要创建一批数组,请尝试:

i = 0
while i < Lvec_cols:
    exec('{}{} = np.zeros(Lvec_rows)'.format(y_values, i))
    i = i +1