繁体   English   中英

用字典中的相应值替换2D列表中的元素?

[英]Replace elements in 2D list with corresponding value in dictionary?

我有一个二维Python列表。 我也有字典。 我想生成一个与列表形状相同的numpy矩阵,其中列表中的每个元素都替换为字典中的相应值。

例如,这是我的Python列表:

[[John Mary]

[Jim Jane]

我想以此创建实例(一个numpy矩阵,而不是一个二维Python列表):

[[85 53]

[76 45]

从字典中检索值的位置。

最快的方法是什么? 我需要这个非常快。

您可以将函数应用于整个numpy数组:

>>> pylist = [['John','Mary'],['Jim', 'Jane']]
>>> nparray = np.asarray(pylist)
>>> print nparray
[['John' 'Mary']
 ['Jim' 'Jane']]
>>> dt = {'John':86, 'Mary':53, 'Jim':76, 'Jane':45}
>>> func = np.vectorize(lambda x: dt[x])
>>> print func(nparray)
[[86 53]
 [76 45]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM