从两个 numpy 数组创建字典

jam*_*mes 6 python dictionary

我有以下两个 numpy 数组:

a = array([400., 403., 406.]);
b = array([0.2,0.55,0.6]);
Run Code Online (Sandbox Code Playgroud)

现在我想创建一个字典,其中数组 a 作为键,b 作为相应的值:

dic = { 
  400: 0.2,
  403: 0.55,
  406: 0.6
}
Run Code Online (Sandbox Code Playgroud)

我怎么能做到这一点?

小智 8

您可以使用带有压缩迭代的快速 for 循环。

import numpy as np
a = np.array([400., 403., 406.]);
b = np.array([0.2,0.55,0.6]);
dict = {}
for A, B in zip(a, b):
    dict[A] = B

print(dict)
# {400.0: 0.2, 403.0: 0.55, 406.0: 0.6}
Run Code Online (Sandbox Code Playgroud)

  • 使用[字典理解](/sf/answers/1015534621/)相同:`{A: B for A, B in zip(a, b)}` (3认同)
  • 对此答案的小评论:使用保留类型名称(例如“dict”)作为变量名称通常是不好的做法。 (2认同)