Fortran 90到Python数组

时间:2016-05-05 18:45:41

标签: numpy fortran

如何将以下Fortran声明转换为Python(numpy数组)?

INTEGER, ALLOCATABLE::          I(:)
DOUBLE PRECISION, ALLOCATABLE:: A(:)
DOUBLE PRECISION, ALLOCATABLE:: B(:,:)
DIMENSION Z(*)
DIMENSION X(N)

1 个答案:

答案 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)