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

har*_*503 2 python dictionary numpy

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

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

Ana*_*mar 9

你需要在传递时打开包装 .示例 - dict.values()zip()

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

请注意使用此方法,无法保证压缩内部列表中元素的顺序,因为字典本身没有任何顺序感.

如果您需要特定订单,则需要在zip()通话中明确说明.示例 -

>>> zip(d['a0'], d['a1'])
[(1, 4), (2, 5), (3, 6)]
Run Code Online (Sandbox Code Playgroud)