【发布时间】:2015-02-03 15:07:03
【问题描述】:
我已经定义了一个如下的函数来尝试在两组数据之间进行插值。当我运行它时,我收到消息:
for i, j in range(0, len(wavelength)):
TypeError: 'int' object is not iterable
我不确定我做错了什么。诚然,我不是很擅长这个。
def accountforfilter(wavelength, flux, filterwavelength, throughput):
filteredwavelength=[]
filteredflux=[]
for i in range(0, len(wavelength)):
if wavelength[i] in filterwavelength[j]:
j=filterwavelength.index(wavelength[i])
filteredwavelength.append(wavelength[i])
filteredflux.append(flux[i]*throughput[j])
elif wavelength[i]<filterwavelength[j]<wavelength[i+1]:
m=((throughput[j+1]-throughput[j])/(filterwavelength[j+1]-filterwavelength[j])
c=throughput[j]-(m*(wavelength[i]))
filteredwavelength.append(wavelength[i])
filteredflux.append(flux[i]*(m*wavelength[i]+c)
return filteredwavelength, filteredflux
【问题讨论】:
-
您的回溯与您发布的代码不匹配。你确定你运行的是相同的代码吗?
-
我复制并粘贴了代码,所以我认为我的运行方式必须与现有的相同。