我是从Python进入Fortran的。
在Python / NumPy中,我可以执行以下操作:
import numpy as np
a = np.arange(5)
b = a*10
print b[a == 3]
# Outputs: array([30])
在Fortran我有:
program test
implicit none
integer :: a(5)
integer :: b(5)
integer :: i
a = (/(i, i = 0, 4)/)
b = a*10
! I want to do this, but it doesn't work
!print *, b(a==3)
! So instead I do this...
do i=1,5
if(a(i)==3) print*, b(i)
enddo
end
有没有更优雅的方法(例如,使用内在函数)?