从Python中的字典中压缩两个值

时间:2015-08-26 09:16:15

标签: python numpy dictionary

我正在尝试使用Python numpy在字典中压缩两个值,但它不是很成功。拉链的意思是这样的:

  1. 我有一个名为dict的字典,里面看起来像{'a0': [1, 2, 3], 'a1': [4, 5, 6]}
  2. 然后我想将这个字典dict值压缩为:[(1, 4), (2, 5), (3, 6)](每个键中的一个元素)

1 个答案:

答案 0 :(得分:8)

传递到dict.values()时,您需要解压缩 zip()。示例 -

>>> 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)]