首页 > 解决方案 > 以元组为键向量化字典中的数组

问题描述

这是一个非常简单的任务,但不知何故,我似乎无法弄清楚。

假设我有一本字典

dictr = {(0,1,2): 0, (5,4,2):1} 

还有一个数组:

A = [[0, 1, 2], [5, 4, 2]]

我正在寻找一个数组 b = [0, 1]

我认为我们可以通过以下方式做到这一点:

B = np.vectorize(dictr.get)(A)

但是,这是行不通的。有谁知道为什么?

标签: numpydictionary

解决方案


问题在于,它dictr.get是针对 A 的元素调用的,而不是针对 A 的行。它调用dictr.get(A[0,0]), nextdictr.get(A[0,1])等等。的每个元素A都是字典中不存在的标量,因此np.vectorize回退到None. 这就是为什么你得到 2x3 数组的原因None


推荐阅读