2015-10-28 67 views
0

我有10个列表,并且希望对它们执行相同的过程,并且希望所有变量具有唯一的名称。以下是我有:使用Python的for循环中的唯一变量名称

for i in xrange(1,11,1): 
    m + str(i) = np.array(m + str(i)).astype(np.float) 

它抛出语法错误:

Can't assign to operator(mean.py,line30) 
+0

这是什么? – Hackaholic

+0

您不能指定任意表达式,只能使用名称('x')和索引表达式(列表为'x [1]',对于字典为'x ['foo']')。 – chepner

+0

@Hackaholic:一个变量名,因为我想保存所有名为'm1','m2'的列表..... – Ibe

回答

1

而不是m1等人,用一个单独的列表m

m = [ ... ] 
for i in xrange(1,11,1): 
    m[i] = np.array(m[i]).astype(np.float) 
+0

在开始列表m是空的,所以你可能会得到'列表索引超出范围' – Hackaholic

+0

应该创建'm'作为单个变量的集合; 'm = [m1,m2,m3]'。 – chepner

+0

'list + str(i)'应该是什么?如果你已经有'm1'等人。定义,你可以直接写'm = [m1,m2,m3]'创建列表。理想情况下,你可以摆脱这些变量,并根据你设置单个变量的方式来定义'm'。 – chepner