我有一個字典列表,如下所示。每本字典都包含特定月份的總數。如果一個月沒有出現在列表中,例如1月份,則總數應爲零。Python:用零填充缺失的月份
q = [{'total_item': 3, 'month': u'02'}, {'total_item': 1, 'month': u'03'}, {'total_item': 1, 'month': u'05'}, {'total_item': 5, 'month': u'06'}, {'total_item': 6, 'month': u'07'}, {'total_item': 1, 'month': u'10'}, {'total_item': 1, 'month': u'12'}]
我想上面的數據結構轉換成一個簡單的列表,其中順序位置代表月份和值表示的全部項目。
[0, 3, 1, 0, ...] # 12 entries in total - one for each month
也就是說一月是0,二月是3月1等
我知道我可以使用這樣的事情來獲得當前值:
result = [r['total_item'] for r in q]
但怎麼辦我爲不存在的月份創建零值條目?
這會在12月產生一個IndexError :) – 2011-05-08 19:01:54
不應該,如果January是'0' ...但顯然輸入數據是使用1作爲'1',這很容易修復。 – Amber 2011-05-08 19:06:02