我開始用一個簡單的Python字典是這樣的: -重新組織字典鍵值對的更好方法是什麼?
In [29]: date_dict
Out[29]:
{'2003-06-24': 2,
'2003-08-13': 1,
'2003-08-19': 2,
'2003-08-22': 1,
'2003-08-24': 5}
鍵爲一個日期和值的整數。
我的目標是在本詞典中的數據重新組織成: -
{'datetime': ['2003-08-13',
'2003-08-19',
'2003-06-24',
'2003-08-24',
'2003-08-22'],
'observations': [1, 2, 2, 5, 1]}
它保持由datetime
鍵和由observations
關鍵舉行的列表舉行列表之間的數據關係。
這是完成這件事我的解決方案: -
In [35]: new_dict
Out[35]: {'datetime': [], 'observations': []}
In [36]: for key, value in date_dict.iteritems():
....: new_dict['datetime'].append(key)
....: new_dict['observations'].append(value)
In [37]: new_dict
Out[37]:
{'datetime': ['2003-08-13',
'2003-08-19',
'2003-06-24',
'2003-08-24',
'2003-08-22'],
'observations': [1, 2, 2, 5, 1]}
我的問題是 - 有沒有其他的(更好的是,如果更高效的),這樣做的方法呢? (請注意,維護兩個列表之間的數據關係至關重要,即在原始的date_dict中,「2003-08-24」對應於值「5」。在數據重新組織之後,第三個索引在「日期時間」名單的是「2003年8月24日」,它正確地對應於「觀察名單」爲「5」的第3個指標)
第一件事,我試過了。這不保留數據順序和關係。 –
O,它確實匹配... –
@CalvinCheng - 你是什麼意思的數據順序和關係? 'zip(d.keys(),d.values())'在功能上等同於'd.items()' – mgilson