fork download
  1. from itertools import groupby
  2.  
  3. values=[
  4. {
  5. "date": "2015-04-24",
  6. "fb": 16322.0
  7. },
  8. {
  9. "date": "2015-04-24",
  10. "tw": 1206.0
  11. },
  12. {
  13. "date": "2015-04-28",
  14. "tw": 1215.0
  15. },
  16. {
  17. "date": "2015-04-30",
  18. "tw": 1224.0
  19. },
  20. {
  21. "date": "2015-04-30",
  22. "fb": 16408.0
  23. },
  24. {
  25. "date": "2015-05-01",
  26. "tw": 1226.0
  27. },
  28. {
  29. "date": "2015-05-01",
  30. "fb": 16436.0
  31. },
  32. {
  33. "date": "2015-05-02",
  34. "tw": 1227.0
  35. },
  36. {
  37. "date": "2015-05-02",
  38. "fb": 16451.0
  39. },
  40. {
  41. "date": "2015-05-04",
  42. "fb": 16506.0
  43. },
  44. {
  45. "date": "2015-05-04",
  46. "tw": 1229.0
  47. },
  48. {
  49. "date": "2015-05-05",
  50. "tw": 1232.0
  51. },
  52. {
  53. "date": "2015-05-05",
  54. "fb": 16526.0
  55. },
  56. {
  57. "date": "2015-05-06",
  58. "tw": 1232.0
  59. },
  60. {
  61. "date": "2015-05-06",
  62. "fb": 16541.0
  63. },
  64. {
  65. "date": "2015-05-07",
  66. "yt": 630.0
  67. },
  68. {
  69. "date": "2015-05-07",
  70. "fb": 16555.0
  71. },
  72. {
  73. "date": "2015-05-07",
  74. "tw": 1234.0
  75. },
  76. {
  77. "date": "2015-05-08",
  78. "fb": 16568.0
  79. },
  80. {
  81. "date": "2015-05-08",
  82. "tw": 1238.0
  83. },
  84. {
  85. "date": "2015-05-09",
  86. "fb": 16582.0
  87. },
  88. {
  89. "date": "2015-05-09",
  90. "tw": 1237.0
  91. },
  92. {
  93. "date": "2015-05-10",
  94. "fb": 16594.0
  95. },
  96. {
  97. "date": "2015-05-10",
  98. "tw": 1237.0
  99. },
  100. {
  101. "date": "2015-05-11",
  102. "tw": 1242.0
  103. },
  104. {
  105. "date": "2015-05-11",
  106. "fb": 16600.0
  107. },
  108. {
  109. "date": "2015-05-12",
  110. "tw": 1243.0
  111. },
  112. {
  113. "date": "2015-05-12",
  114. "fb": 16618.0
  115. },
  116. {
  117. "date": "2015-05-13",
  118. "fb": 16630.0
  119. },
  120. {
  121. "date": "2015-05-13",
  122. "yt": 630.0
  123. },
  124. {
  125. "date": "2015-05-13",
  126. "tw": 1246.0
  127. },
  128. {
  129. "date": "2015-05-14",
  130. "yt": 630.0
  131. },
  132. {
  133. "date": "2015-05-14",
  134. "fb": 16635.0
  135. },
  136. {
  137. "date": "2015-05-14",
  138. "tw": 1249.0
  139. },
  140. {
  141. "date": "2015-05-15",
  142. "yt": 630.0
  143. },
  144. {
  145. "date": "2015-05-15",
  146. "fb": 16644.0
  147. },
  148. {
  149. "date": "2015-05-15",
  150. "tw": 1252.0
  151. },
  152. {
  153. "date": "2015-05-16",
  154. "yt": 630.0
  155. },
  156. {
  157. "date": "2015-05-16",
  158. "tw": 1254.0
  159. },
  160. {
  161. "date": "2015-05-16",
  162. "fb": 16654.0
  163. },
  164. {
  165. "date": "2015-05-17",
  166. "tw": 1255.0
  167. },
  168. {
  169. "date": "2015-05-17",
  170. "fb": 16668.0
  171. },
  172. {
  173. "date": "2015-05-17",
  174. "yt": 630.0
  175. },
  176. {
  177. "date": "2015-05-18",
  178. "yt": 632.0
  179. },
  180. {
  181. "date": "2015-05-18",
  182. "tw": 1257.0
  183. },
  184. {
  185. "date": "2015-05-18",
  186. "fb": 16678.0
  187. },
  188. {
  189. "date": "2015-05-19",
  190. "fb": 16688.0
  191. },
  192. {
  193. "date": "2015-05-19",
  194. "yt": 634.0
  195. },
  196. {
  197. "date": "2015-05-19",
  198. "tw": 1256.0
  199. },
  200. {
  201. "date": "2015-05-20",
  202. "yt": 634.0
  203. },
  204. {
  205. "date": "2015-05-20",
  206. "fb": 16695.0
  207. },
  208. {
  209. "date": "2015-05-20",
  210. "tw": 1259.0
  211. },
  212. {
  213. "date": "2015-05-21",
  214. "tw": 126.0
  215. },
  216. {
  217. "date": "2015-05-21",
  218. "yt": 635.0
  219. },
  220. {
  221. "date": "2015-05-21",
  222. "fb": 16698.0
  223. },
  224. {
  225. "date": "2015-05-22",
  226. "tw": 1262.0
  227. },
  228. {
  229. "date": "2015-05-22",
  230. "fb": 16712.0
  231. },
  232. {
  233. "date": "2015-05-22",
  234. "yt": 635.0
  235. },
  236. {
  237. "date": "2015-05-23",
  238. "fb": 16726.0
  239. },
  240. {
  241. "date": "2015-05-23",
  242. "yt": 636.0
  243. },
  244. {
  245. "date": "2015-05-23",
  246. "tw": 1264.0
  247. },
  248. {
  249. "date": "2015-05-24",
  250. "tw": 1265.0
  251. },
  252. {
  253. "date": "2015-05-24",
  254. "yt": 636.0
  255. },
  256. {
  257. "date": "2015-05-24",
  258. "fb": 16731.0
  259. },
  260. {
  261. "date": "2015-05-25",
  262. "yt": 636.0
  263. },
  264. {
  265. "date": "2015-05-25",
  266. "tw": 1269.0
  267. },
  268. {
  269. "date": "2015-05-25",
  270. "fb": 16752.0
  271. },
  272. {
  273. "date": "2015-05-26",
  274. "yt": 637.0
  275. },
  276. {
  277. "date": "2015-05-26",
  278. "fb": 16766.0
  279. },
  280. {
  281. "date": "2015-05-26",
  282. "tw": 127.0
  283. }]
  284.  
  285. keyfunc = lambda x: x['date']
  286.  
  287. sorted_values = sorted(values, key = keyfunc)
  288. result = []
  289. for k, g in groupby(sorted_values, key = keyfunc):
  290. d = {'date': k}
  291. _ = [d.update(v) for v in list(g)]
  292. result.append(d)
  293.  
  294. print result
Success #stdin #stdout 0.01s 9016KB
stdin
Standard input is empty
stdout
[{'date': '2015-04-24', 'tw': 1206.0, 'fb': 16322.0}, {'date': '2015-04-28', 'tw': 1215.0}, {'date': '2015-04-30', 'tw': 1224.0, 'fb': 16408.0}, {'date': '2015-05-01', 'tw': 1226.0, 'fb': 16436.0}, {'date': '2015-05-02', 'tw': 1227.0, 'fb': 16451.0}, {'date': '2015-05-04', 'tw': 1229.0, 'fb': 16506.0}, {'date': '2015-05-05', 'tw': 1232.0, 'fb': 16526.0}, {'date': '2015-05-06', 'tw': 1232.0, 'fb': 16541.0}, {'date': '2015-05-07', 'tw': 1234.0, 'fb': 16555.0, 'yt': 630.0}, {'date': '2015-05-08', 'tw': 1238.0, 'fb': 16568.0}, {'date': '2015-05-09', 'tw': 1237.0, 'fb': 16582.0}, {'date': '2015-05-10', 'tw': 1237.0, 'fb': 16594.0}, {'date': '2015-05-11', 'tw': 1242.0, 'fb': 16600.0}, {'date': '2015-05-12', 'tw': 1243.0, 'fb': 16618.0}, {'date': '2015-05-13', 'tw': 1246.0, 'fb': 16630.0, 'yt': 630.0}, {'date': '2015-05-14', 'tw': 1249.0, 'fb': 16635.0, 'yt': 630.0}, {'date': '2015-05-15', 'tw': 1252.0, 'fb': 16644.0, 'yt': 630.0}, {'date': '2015-05-16', 'tw': 1254.0, 'fb': 16654.0, 'yt': 630.0}, {'date': '2015-05-17', 'tw': 1255.0, 'fb': 16668.0, 'yt': 630.0}, {'date': '2015-05-18', 'tw': 1257.0, 'fb': 16678.0, 'yt': 632.0}, {'date': '2015-05-19', 'tw': 1256.0, 'fb': 16688.0, 'yt': 634.0}, {'date': '2015-05-20', 'tw': 1259.0, 'fb': 16695.0, 'yt': 634.0}, {'date': '2015-05-21', 'tw': 126.0, 'fb': 16698.0, 'yt': 635.0}, {'date': '2015-05-22', 'tw': 1262.0, 'fb': 16712.0, 'yt': 635.0}, {'date': '2015-05-23', 'tw': 1264.0, 'fb': 16726.0, 'yt': 636.0}, {'date': '2015-05-24', 'tw': 1265.0, 'fb': 16731.0, 'yt': 636.0}, {'date': '2015-05-25', 'tw': 1269.0, 'fb': 16752.0, 'yt': 636.0}, {'date': '2015-05-26', 'tw': 127.0, 'fb': 16766.0, 'yt': 637.0}]