python - Python:如何将列表添加到命名的多维数组
问题描述
在 PHP 中,您可以轻松地创建和填充多维数组,如下所示:
$points = array();
$points["Landmarks"]["Latitude"] = $some_array_containing_lat_values;
$points["Landmarks"]["Longitude"] = $some_array_containing_lon_values;
这样做的pythonic方式是什么?
我已经尝试过列表、字典和 numpy 数组,但都没有工作。使用未命名(编号)数组不是一种选择,因为它们是从结构和命名不一致的外部文件创建的,因此必须按名称从数组中检索数据,而不是按索引。
抱歉,如果这是一个重复的问题,但我一直在寻找一整天都无济于事,而且我拼命地没时间了。
解决方案
每当您想使用字符串作为关键字(例如“地标”)从数据结构中检索项目时,您都在寻找字典。
要具有 的“多维”功能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
您可以在此处查看有关嵌套字典的更多信息。
推荐阅读
- sql - 全外连接:每个日期的总和
- php - 使用原始标题和描述重定向
- android - adapter.notifyDataSetChange() 不起作用
- variables - jinja2 中的多行变量
- spring-boot - Spring Boot Jpa 批处理-CannotCreateTransactionException
- python - 无法远程使用 kafka 事件错误:连接 ECONNREFUSED 5.6.7.8:9092
- docker - 从容器命令提示符在主机上运行命令
- pandas - 在 pandas 数据框的所有行中保存一个命名元组
- xamarin.forms - 是否可以实现 5-click 命令?或长按图像
- ruby - 使用 Ruby 为 Unicode 值生成十六进制代码点