考虑以下数据结构:
#Each key in this dict will only house 1 file [will have any number of keys]
Predictor_dict = {'pred1':pred1.file,'pred2':pred2.file,...}
#Each key in start_dict will house 1 OR 2 files
start_dict={'start1.file':[s1m.file,s2m.file]} OR start_dict={'start1.file':s1m.file}
#Each key in start_end will house 1 OR 2 files
end_dict={'end1.file':[e1m.file,e2m.file]} OR end_dict={'end1.file':e1m.file}
现在,我有以下几种情况:
目标:
我需要找出一种根据我的情况生成和填充字典或词典的方法:
情况下:
对于每个预测变量,只有一个开始和结束
file_picker={'pred1':[start1.file,s1m.file,end1.file,e1m.file,pred1.file]}
对于每个预测变量,有2个可能的起始文件和2个可能的结束文件
# This will get the first start and end
file_picker={'pred1':[start1.file,s1m.file,end1.file,e1m.file,pred1.file]}
# This will house the first start and second end
file_picker_multiple_e={'pred1':[start1.file,s1m.file,end1.file,e2m.file,pred1.file]}
#This will house the second start, but first end
file_picker_multiple_s={'pred1':[start1.file,s2m.file,end1.file,e1m.file,pred1.file]}
#This will house second end and second start
file_picker_multiple_e_s={'pred1':[start1.file,s2m.file,end1.file,e2m.file,pred1.file]}
我认为让它创建4个词典并只返回案例所要求的词典比制作一个词典更清晰,更好。
我现在拥有的示例伪代码(似乎有点过于暴力)
# function dict_maker will make a dictionary such as:
def dict_maker(start_landsat,start_modis,end_landsat,end_modis,pred):
made_dict={}
made_dict[pred]=[start_landsat,start_modis,end_landsat,end_modis,pred]
#where all the arguments are recieved from another function which takes a look at each of the start and end dictionaries as described above..
即使我有一点工作,我想看看是否有更好,更快的方法来做到这一点。