這是我當前的代碼:如何在python中循環函數變量?
import numpy as np
vec0 = [1, 2, 3]
vec1 = [2, 3, 4]
vec2 = [3, 4, 5]
vec3 = [4, 5, 6]
for k in range(0, 4):
globals()['mean%s' % k] = np.mean('vec'+str(k))
我得到這個錯誤:
TypeError: cannot perform reduce with flexible type
我想這個結果。用於計算意味着使用
globals()['mean%s' % k] = np.mean(vecs[k])
雖然,你應該避免這種做法並保持2D Array
代替,這將是更容易:
mean0 = np.mean(vec0)
mean1 = np.mean(vec1)
mean2 = np.mean(vec2)
mean3 = np.mean(vec3)
1)你不想被創建動態命名變量; 2)如果你正確使用numpy的,你可以使這個單一的二維數組,並採取行軸上的意思...... –
這實際上是一種反模式,通常這是不好的設計,通過名稱調用變量。 –