【发布时间】:2016-08-18 06:11:53
【问题描述】:
这个问题毫无疑问以前被问过,但我不完全确定如何搜索它(因为我不知道它叫什么)。所以提前道歉。
唉,我的问题是我有大量的对象
for i in range(1000):
M = subParts[0].get(parts['thing'][i])
每个M 都是一个对象,其中包含有关此模型的大量信息,现在我的工作是在此对象上调用四个单独的函数,以便这些函数可以返回四个简单的数字:
for i in range(1000):
M = subParts[0].get(parts['thing'][i])
M.getItem1()
M.getItem2()
M.getItem3()
M.getItem4()
每个都返回一个数字,例如
4.5
5.7
3.7
2.9
因此,我的问题是,什么是有效的方法?上面很丑但是有效,但必须有更有效的方法。在此我只想将全部内容存储在字典中
myDict = { 0 : [4.5,5.7,3.7,2.9], ... , 999 : [2.5,3.7,5.7,2.9] }
谢谢。
【问题讨论】:
-
键是从
0开始的连续数字的字典本质上只是一个列表。 -
这只是为了演示 :) 当然你当然是正确的。
-
我注意到您每次迭代都会检索
subParts[0]和parts['thing'],提前存储它们 (relevant_part = parts["thing"]) 可能会简化该语句并减少重复查找。 -
实际上,如果
parts['thing']是一个(有序)序列,您可以使用for M in map(subParts[0].get, parts["thing"]):遍历所有M对象。 -
对..这比我所做的要聪明得多。谢谢
标签: python dictionary optimization