我正在尝试在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 ...的数组。
答案 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