首页 > 解决方案 > Python:如何将列表添加到命名的多维数组

问题描述

在 PHP 中,您可以轻松地创建和填充多维数组,如下所示:

$points = array();
$points["Landmarks"]["Latitude"] = $some_array_containing_lat_values;
$points["Landmarks"]["Longitude"] = $some_array_containing_lon_values;

这样做的pythonic方式是什么?

我已经尝试过列表、字典和 numpy 数组,但都没有工作。使用未命名(编号)数组不是一种选择,因为它们是从结构和命名不一致的外部文件创建的,因此必须按名称从数组中检索数据,而不是按索引。

抱歉,如果这是一个重复的问题,但我一直在寻找一整天都无济于事,而且我拼命地没时间了。

标签: pythonarrayslistnumpydictionary

解决方案


每当您想使用字符串作为关键字(例如“地标”)从数据结构中检索项目时,您都在寻找字典。

要具有 的“多维”功能points["Landmarks"]["Latitude"],您必须在另一个字典中有一个字典:

points = {'Landmarks': {'Latitude': lat_array, 'Longitude': lon_array}}

您还可以使用 a deafaultdict,它支持嵌套字典:

from collections import deafaultdict
points = defaultdict(dict)
points["Landmarks"]["Latitude"] = lat_array
points["Landmarks"]["Longitude"] = lon_array

您可以在此处查看有关嵌套字典的更多信息。


推荐阅读