我想从另一个数组动态创建具有变量名的数组。 说我有:
Array1 = ['a', 'b', 'c']
我现在想以编程方式为Array1中的每个值创建一个新数组(我不知道Array1中实际有多少值,我不知道将在那里的名称)使用Array1中提供的名称。它会有效地给我:
a = []
b = []
c = []
答案 0 :(得分:4)
执行Array1 = [a,b,c]
时,您将丢失有关用于实例化数组的变量名称的任何信息,因此我假设您的意思是Array1=['a','b','c']
。在Python中,我们通常使用dict
离子来解决与此相关的问题。使用字典,我们可以将'a'
映射到空list
,如下所示:
Array1 = ['a','b','c']
dicty = {}
for i in Array1:
dicty[i] = []
如果这不能帮助您解决问题,请告诉我有关您要解决的问题的更多信息。
答案 1 :(得分:0)
所以必须满足一些假设。主要是,如果Array1
有多个相同的条目,则您不能为它们添加不同的数组 - 例如,如果a
== b
评估为True
,那么你必须为它们分配相同的数组。其次,为什么不用字典保存相应数组的名称:
names_dict = {} ## names_dict[a] = (0,0), names_dict[b] = (1,0), ...
new_arrays = {}
for i in Array1.shape()[0]:
for j in Array1.shape()[1]:
names_dict[Array1[i][j]] = (i,j)
new_arrays[(i,j)] = np.array(...) ## whatever array you want to create goes in the "..."
new_arrays[names_dict[a]]
将评估元素a