我正在使用 Python 对随机星光谱求和以增加它们的信噪比。这些光谱标题的关键字之一包含光谱的积分时间。当我对光谱求和时,我希望用我使用的每个光谱的积分时间总和来更新结果光谱的关键字。为此,我使用以下代码:
for kk in range(0,NumberOfSpectra): # main cycle
TotalIntegrationTime = 0.0
for item in RandomSpectraList: # secondary cycle
SpectrumHeader = SpectraFullList[item]['head'] #1
TotalIntegrationTime += SpectrumHeader['EXPTIME']
SpectrumHeader['EXPTIME'] = TotalIntegrationTime #2
SaveHeaderFunction(SpectrumHeader, kk)
我遇到的问题是,当主循环循环时,SpectrumHeader
当我在#1 中重新分配它并显示它在#2 中的值时,它不会被重置。关于为什么会发生这种情况以及如何解决它的任何想法?
NumberOfSpectra
由用户提供,RandomSpectraList
是按名称排列的随机光谱列表。SpectraFullList
包含光谱并具有键“head”和“spec”。