我有一個問題。我在Fortran編程一個數學計算程序。在那裏,我必須初始化一個隨機值數組。這些值必須正態分佈,平均值爲0,標準偏差爲1.如何將長python列表格式化爲Fortran多行數組?
我在Python 2.7中做了以下腳本來生成900個這樣的值。
import numpy as np
mu, sigma = 0, 1.0
list = []
i = 0
while i < 901:
s = np.random.normal(mu, sigma, None)
list.append(format(s, '.3f'))
i += 1
print list
這將返回該列表:
['-1.403', '-1.498', '0.573', '-0.056', '-0.226', '-0.514', ..., ]
的問題是,我可以不只是這個複製到我的Fortran代碼,因爲值有文字的方式如下:
DATA STR/0.978, -0.52 , -0.368, 1.69 , & !Giving random values. Temperary solution for
-1.48 , 0.985, 1.475, -0.098, & !random number generating, based on the normal law
-1.633, 2.399, 0.261, -1.883, &
-0.181, 1.675, -0.324, -1.029, &
-0.185, 0.004, -0.101, -1.187, &
-0.007, 1.27 , 0.568, -1.27 , &
... &
... &
... &
/
這意味着我必須格式化Python列表類似於:
NUM1, NUM2, NUM3, NUM4, &
XXXX, XXXX, XXXX, XXXX, &
...
...
...
我該如何去做這件事?
這類作品....我不得不重寫這個python 2. 然而,這返回正確的格式,但一次4個副本。例如 例如。 '-0.431,0.582,-0.098,-1.875,' '-0.431,0.582,-0.098,-1.875,' '-0.431,0.582,-0.098,-1.875,' '-0.431, 0.582,-0.098,-1.875,' Wierd。現在怎麼辦? –