在python中的循环内创建循环

2024-09-29 23:17:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用这个程序得到211个数组的列表(phi0ex),每个数组包含251*251个元素 我得到的只是251个元素的数组列表,请帮忙

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
#

Tags: csvin元素列表fordatazeros数组
1条回答
网友
1楼 · 发布于 2024-09-29 23:17:42

我找到了解决方案,谢谢你们展示了intrest,准确地说是函数where()自己做迭代(我不知道)没有必要把它放在另一个循环中,只有“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

相关问题 更多 >

    热门问题