如何自动提取与键关联的numpy数组表示的值作为字典中的单独数据

时间:2019-08-06 09:58:10

标签: python numpy dictionary

我有一个python字典,其中包含每个键保存在多个numpy数组中的值。我想以自动化的方式从每个键中提取值,而不是分别通过每个键来提取值,例如dictname [key1],dictname [key2]等。

我已经尝试过“ for”循环,但是那是行不通的,作为一个初学者,我无法弄清楚哪里出了问题。见下文:

type(Win_mapping) = class 'collections.defaultdict'

键列表:

Win_mapping.keys()

Out:
dict_keys([(3, 8), (2, 5), (2, 8), (1, 8), (2, 7), (3, 7), (3, 6), (2,   6), (1, 7), (1, 6), (1, 4), (0, 7), (6, 5), (3, 5), (4, 4), (4, 6)])

第一个键的某些值的示例

Win_mapping[(3, 8)]

Out:
[array([  0.00000000e+00,   6.33000017e-27,   1.73497305e-03,
     -8.36198378e-05,   2.74863690e-01], dtype=float32),
 array([  0.00000000e+00,   6.33999998e-27,   1.19663752e-03,
     -2.99715757e-05,   2.62920409e-01], dtype=float32),
 array([  0.00000000e+00,   6.35000018e-27,   6.05389301e-04,
     -3.59380065e-05,   2.54130781e-01], dtype=float32),
 array([  0.00000000e+00,   6.36000000e-27,   3.28844151e-04,
     -8.31774960e-05,   2.48996541e-01], dtype=float32),
 array([  0.00000000e+00,   6.36999981e-27,   3.52510775e-04,
     -1.14181137e-04,   2.47686639e-01], dtype=float32)]

对于循环示例:

for key, value in Win_mapping:
    node_key = [value]
    print(node_key)

[8]
[5]
[8]
[8]
[7]
[7]
[6]
[6]
[7]
[6]
[4]
[7]
[5]
[5]
[4]
[6]

这只是每个键的第二个数字的表示形式,例如(3,8),(2,5)等

我想要的结果是一种自动化的方法,可以同时提取每个键中的值,而且我不确定是否可以做到这一点,仅使用键在列表中的位置而不是键名即可。这是因为我正在设置代码,希望这些代码可以使用具有不同键名的不同字典。

1 个答案:

答案 0 :(得分:0)

您需要使用dict.items来访问键值

例如:

for key, value in Win_mapping.items():
    node_key = [value]
    print(node_key)