如何将以下Fortran声明转换为Python(numpy数组)?
INTEGER, ALLOCATABLE:: I(:)
DOUBLE PRECISION, ALLOCATABLE:: A(:)
DOUBLE PRECISION, ALLOCATABLE:: B(:,:)
DIMENSION Z(*)
DIMENSION X(N)
答案 0 :(得分:1)
要声明一个整数,只需这样指定:
i=1
要声明一个浮点数,请像这样指定:
a=1.0
对于numpy
数组,最好提前知道大小:
b=np.zeros((100,100)) # a 100x100 array, initialized with zeros
x=np.ones(1000) # a 100 array , initialized with ones
如果您不知道数组的大小,请指定一个空列表,如下所示:
xlist=[]
然后填写列表(比如说在循环中),如下所示:
xlist.append(5.34)
为什么这是首选方法,请参阅this SO question。
您可以使用第二个循环创建列表列表,如乘法表的示例所示:
aa=[]
for i in range(10):
a=[]
for j in range(10):
a.append(i*j)
aa.append(a)
当您完成创建列表(任意维度)并想要快速时,将它们转换为像这样的numpy数组
my2darray=np.array(aa)