Python 2.7 将整数值或浮点值的dict附加到列表dict的任何更快的方法

Python 2.7 将整数值或浮点值的dict附加到列表dict的任何更快的方法,python-2.7,list,dictionary,Python 2.7,List,Dictionary,在以下代码中: eval_key_list是用户有意义字符串的列表 eval_dict值是整数或浮点数,在较大的循环中重新计算 eval\u recrod\u dict是一个列表的dict 守则: for key in self.eval_key.eval_key_list: self.eval_record_dict[key].append(self.eval_dict[key]) 此追加操作发生在计算循环的末尾。 程序完成后,eval\u record\u dict包含许多计算数据

在以下代码中:

  • eval_key_list
    是用户有意义字符串的列表
  • eval_dict
    值是整数或浮点数,在较大的循环中重新计算
  • eval\u recrod\u dict
    是一个列表的dict
  • 守则:

    for key in self.eval_key.eval_key_list:
        self.eval_record_dict[key].append(self.eval_dict[key])
    
    此追加操作发生在计算循环的末尾。
    程序完成后,
    eval\u record\u dict
    包含许多计算数据列表。
    我发现这个数据保存操作非常慢,占用了40%的循环时间。
    下面是这个计算循环的python分析器的输出

    Total time: 1.78099 s
    Line #      Hits         Time  Per Hit   % Time  Line Contents
       681    189376       336689      1.8     18.9  for key in self.eval_key.eval_key_list:    
       682    186417       382640      2.1     21.5    self.eval_record_dict[key].append(self.eval_dict[key])
    

    有没有更快的方法可以做到这一点?

    加快速度的方法是重新构造数据,但这里没有足够的信息来建议一个好的方法。我看不出这是一个非常耗时的操作,在字典中查找一个键并附加到列表中并不十分耗时,可能问题在于self.eval\u key.eval\u key\u list,这个变量结构是什么?@Arman self.eval\u key.eval\u key\u list是一个对用户有意义的字符串列表。我发现了缓慢的根本原因。正是python分析器减慢了一切!加快这一速度的方法是重新构造数据,但这里没有足够的信息来建议这样做的好方法。我看不出这是一个非常耗时的操作,在字典中查找键并附加到列表中并不十分耗时,可能问题出在
    self.eval\u key.eval\u key\u list
    ,这个变量结构是什么?@Arman self.eval_key.eval_key_list是一个对用户有意义的字符串列表。我发现了缓慢的根本原因。正是python分析器减慢了一切!