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
是一个列表的dictfor 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分析器减慢了一切!