0

IndexError: list assignment index out of range が発生し続けます。これが私のコードです:

import numpy as np
import asciidata

fv = [] 
fb = []
data = asciidata.open('Flux.txt')
for i in data[1]:
    fv.append(float(i))
for i in data[2]:
    fb.append(float(i))

mv = []
mb = []
for i in range (0,25):
    mv[i] = 10.1 - 2.5 * np.log(fv[i]/1220000)
    mb[i] = 11.0 - 2.5 * np.log(fb[i]/339368)
    print i, mv[i], mb[i]
4

1 に答える 1

6
mv.append(10.1 - 2.5 * np.log(fv[i]/1220000))
mb.append(11.0 - 2.5 * np.log(fb[i]/339368))

i 番目のインデックスがないため、mv[i] は機能しません

本当に私はリスト内包表記を使用します

mv = [10.1 - 2.5 * np.log(val/1220000) for val in fv]

numpyを使用しているので、さらにうまくいくことができます

fv = np.array(fv)
mv = 10 - np.log(fv/1220000)*2.5 
于 2013-06-04T19:19:15.813 に答える