直方图中的语法错误 python

Syntax Error in plot histogram python

在下面代码的 print 语句和 plot.hist 命令中,python returns 声明这些行包含语法错误。不过,我很确定我有正确的文档,所以语句前面的 for 循环中的缩进可能不正确?谢谢!

import pyfits
import math 
import numpy 

hdulist = pyfits.open("VDGC_catalog_pPXF.fits")
catalog= hdulist[1].data[0]

zerr = []
verr = [] 

#loop to fill zerr with actual values 
for i in range(0, len(catalog)):
    if catalog[3][i] == 'GC' and catalog[4][i] == 'N' and catalog[10][i] == 1:
        zerr.append(catalog[9][i])

for i in range(0, range(zerr)):
    verr.append((zerr[i])*299792458

plot.hist(verr, bins = 100, color = "pink")

plt.show()
print "Done."

(代码太多,不能放在评论里)

除了

中缺少的右括号
for i in range(0, range(zerr)):
    verr.append((zerr[i])*299792458

我可以想象你想做的事情是

for zi in zerr:
    verr.append(zi*299792458)

这个更 pythonic 的版本是

verr = [zi*299792458 for zi  in zerr]