2016-06-15 88 views
-5

我想用這個程序來獲得一個211數組的列表(phi0ex)每個數組包含251 * 251個元素 所有我得到的是251個元素的數組列表幫助在Python中創建一個循環內循環

data=loadtxt('data.csv',delimiter=',') 
data1=data.transpose() 
ngrains=loadtxt('nombre_grain.csv',delimiter=',') 
phi0ex1=211*[zeros(shape(251*251))] 
gr1=zeros(shape=(251,251)) 
for k in range(0,len(ngrains)): 
for i,j in enumerate(data1): 
    for s in range(0,251): 
     gr1[i]=where(s==ngrains[k],1,0) 
phi0ex1[k]=gr1 
print phi0ex1 
+0

您需要縮進第一個循環的正文。 – Barmar

+0

這個問題還不清楚,你能澄清一下你想要更徹底嗎? –

+0

我有一個列表,其中包含我通過「ngrains」文件加載的210個不同的值。那麼其他文件「數據」包含250 * 250個元素,我想查看「數據」的每個元素,看看它是否等於「ngrains」的第一個元素,如果是這樣的話,換一個,如果不是零,而不是。然後我得到250 * 250的數組包含eather零或我想把它放在另一個數組列表(phi0ex)。等「ngrains」中的所有值 我希望我解釋得很好,謝謝 –

回答

0

我找到了解決辦法感謝你們展示intrest,accully的函數,其中()這樣的迭代它的自我(我did'nt知道)有沒有必要把它放在一個其他循環,只有循環「ngrains將做的伎倆。

data=loadtxt('data.csv',delimiter=',') 
data1=data.transpose() 
ngrains=loadtxt('nombre_grain.csv',delimiter=',') 
phi0ex=len(ngrains)*[zeros(shape(250))] 

for k in range(len(ngrains)): 
    print ngrains[k]  
    phi0ex[k]=where(data1==ngrains[k],1,0) 

print phi0ex