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)
| 198 | #======================================================================== |
| 199 | |
| 200 | def 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 |
no test coverage detected