が私のpython programming.The次のコードでは初心者だ:インデックスエラー:コンパイルがエラーを与えながら、Pythonの
T_[j] = line[1]
IndexError: list index out of range
i=104
l=i+92
p_=dict()
T_=dict()
z_=dict()
H2O_VMR_=dict()
O3_VMR_=dict()
cov_H2O_VMR_=dict()
with open('chevallierl91_clear_q.txt') as f:
for j in range(2,5000):
for line in itertools.islice(f, i, l):
line=line.split()
p_[j] = line[0]
T_[j] = line[1]
z_[j] = line[2]
H2O_VMR_[j] = line[3]
O3_VMR_[j] = line[4]
cov_H2O_VMR_[j]=np.cov(H2O_VMR_[j])
print H2O_VMR_[j]
i=l+2
l=i+92
これは、行には期待する値(おそらく空白行)が含まれていないことを意味し、line.split()呼び出しの結果は1つの要素のみのリストになります。なぜそれが失敗するのか分かるように、分割した後に行を印刷することをお勧めします。 – TheoretiCAL
内側のループで分割した後に 'if len(line)<5:continue'を追加すると、このエラーを避けることができ、結果が期待どおりに機能しているかどうかを確認できます。 – deeenes
貴重なコメント...私はそれを分割した後に行を印刷し、ファイルcozに空白行がありましたが、私はコードをコンパイルできませんでした。すべてがうまくいくようです...ありがとうございました – caty