2015-08-26 44 views
2

我想在Python字典中使用Python numpy壓縮兩個值,但它不是很成功。我的意思是通過壓縮是這樣的:從Python中的字典中壓縮兩個值

  1. 我有一個名爲字典的字典,裏面看起來像{'a0': [1, 2, 3], 'a1': [4, 5, 6]}
  2. 然後我想這個壓縮字典dict值:到解壓dict.values()傳遞到zip()時(從每一個關鍵元素)[(1, 4), (2, 5), (3, 6)]
+4

'拉鍊(* your_dict.values())' – mshsayem

+0

這是我的嘗試,但它並沒有給我我想要的..這就像[(1,2,3),(4 ,5,6)] –

+0

哦..等待在前面的星星..謝謝!我不知道前方的這顆恆星。有用!謝謝 –

回答

7

需要。示例 -

>>> d = {'a0': [1, 2, 3], 'a1': [4, 5, 6]} 
>>> zip(*d.values()) 
[(4, 1), (5, 2), (6, 3)] 

請注意,使用這種方法,在壓縮內部列表元素的順序不能保證,因爲字典本身不具備的順序任何意義。

如果你想要一個特定的訂單,你需要明確在你的zip()調用。示例 -

>>> zip(d['a0'], d['a1']) 
[(1, 4), (2, 5), (3, 6)]