2015-10-28 112 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