我有一个dict对象:
{0: array([1, 2, 3]), 1: array([4,5,6])}
所需的输出是边缘列表:
[0, 1], [0, 2], [0, 3], [1, 4], [1, 5], [1, 6]
我怎么能在numpy中做到这一点?
答案 0 :(得分:2)
使用普通list-comprehension
:
import numpy as np
d = {0: np.array([1, 2, 3]), 1: np.array([4,5,6])}
[[key, v] for key, vals in d.items() for v in vals.tolist()]
# [[0, 1], [0, 2], [0, 3], [1, 4], [1, 5], [1, 6]]
如果你需要一个阵列:
np.array([[key, v] for key, vals in d.items() for v in vals.tolist()])