MCPcopy Create free account
hub / github.com/ActiveState/code / sumInDict

Function sumInDict

recipes/Python/278259_Dictionary_Tools/recipe-278259.py:200–224  ·  view source on GitHub ↗

Given a list L: [ {'S': [s11,s12,s13], 'V':[v11,v12,v13], ...}, {'S': [s21,s22,s23], 'V':[v21,v22,v23], ...}, {'S': [s31,s32,s33], 'V':[v31,v32,v33], ...}, ... ] Return a dict: {'S': [s1,s2,s3], 'V':[v1,v2,v3], ...} where s1 = s11 + s21 + s31 + ...

(L)

Source from the content-addressed store, hash-verified

198#========================================================================
199
200def sumInDict(L):
201 ''' Given a list L:
202 [ {'S': [s11,s12,s13], 'V':[v11,v12,v13], ...},
203 {'S': [s21,s22,s23], 'V':[v21,v22,v23], ...},
204 {'S': [s31,s32,s33], 'V':[v31,v32,v33], ...},
205 ... ]
206
207 Return a dict:
208 {'S': [s1,s2,s3], 'V':[v1,v2,v3], ...}
209
210 where s1 = s11 + s21 + s31 + ...
211 s2 = s12 + s22 + s32 + ...
212 '''
213 keys = L[0].keys()
214 new={}
215 for k in keys:
216 new[k] = [] # Init 'S':[]
217 for x in L: # x = {'S': [s11,s12,s13], 'V':[v11,v12,v13], ...}
218 y = x[k] # y = [s11,s12,s13]
219 new[k].append(y)
220
221 ''' new[k] = [ [s11,s12,s13],[s21,s22,s23],[s31,s32,s33], ...]
222 Then use sumInList=> {'S': [s1,s2,s3],'V': [v1,v2,v3],... }'''
223 new[k] = sumInList(new[k])
224 return new
225
226#========================================================================
227

Callers 1

sumInDict2Function · 0.85

Calls 3

sumInListFunction · 0.50
keysMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected