使用可变数据量创建和填充dictonaries

时间:2015-11-12 14:12:54

标签: python python-2.7 dictionary optimization creation

考虑以下数据结构:

#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}

现在,我有以下几种情况:

  • 对于每个预测变量,只有一个开始和结束
  • 对于每个预测变量,有2个可能的起始文件和单个结束
  • 对于每个预测变量,只有一个起始文件和两个结束文件
  • 对于每个预测变量,有2个可能的起始文件和2个可能的结束文件

目标:

我需要找出一种根据我的情况生成和填充字典或词典的方法:

示例最终结果:

情况下:

对于每个预测变量,只有一个开始和结束

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..

即使我有一点工作,我想看看是否有更好,更快的方法来做到这一点。

0 个答案:

没有答案