添加類型的字典列表說我有一堆字典以最快的方式鍵明智一起蟒蛇
a = {'x': 1.0, 'y': 0.5, 'z': 0.25 }
b = {'w': 0.5, 'x': 0.2 }
的有隻有兩個都有,但問題是關於一個arbitary量。
找到每個鍵的平均值的最快方法是什麼?這些字典非常稀少,所以會有很多情況下很多密鑰不存在於各種字典中。
我正在尋找的結果是一個新的字典,其中包含所有的鍵和每個的平均值。這些值總是浮動的,我很樂意蘸入ctypes。我的方法比我想要的要慢,可能是因爲在我的情況下,我使用的是defaultdicts,這意味着我實際上正在初始化值,即使它們不在那裏。如果這是緩慢的原因,我很樂意重構,只是想確保我沒有錯過任何明顯的東西。
編輯:我覺得我爲這個結果應該是什麼樣的誤導,如果該值不存在,它應該爲0.0行事,所以上面例子中的結果將是:
{'w':0.25,'x':0.6,'y':0.25,'z':0.125}
所以除以唯一鍵的總數。
我想知道的主要是如果有一種偷偷摸摸的方式來按照一個步驟的長度來分割整個字典,或者在一個步驟中添加。基本上是一個非常快的矢量加法和除法。我簡單地看過numpy數組,但它們似乎不適用於字典,如果將字典轉換爲列表,我必須刪除稀疏屬性(通過將缺省值明確設置爲0)。
對於那些迄今爲止已經回答的人們,我要感謝一下,我正在調查哪種方法對我來說性能最好。 – 2009-08-20 15:28:07