首页 > 解决方案 > Python:转换坐标列表并删除字符

问题描述

我从一个列表中的 gpx 文件中提取了 gps 坐标,如下所示:

[{'lat': '51.604443', 'lon': '7.205795'}, {'lat': '51.604390', 'lon': '7.205635'}]

为了进一步计算,必须将这些坐标转换为如下所示的列表:

[51.604443, 7.205795, 51.60439, 7.205635]

...并使用 iplyleaflet 创建折线,它们必须如下所示:

[51.604443, 7.205795],
[51.60439, 7.205635],

编辑:这里已经回答了: 将字典列表转换为列表列表

我想我的第一个问题是不同的。

我已经在这个问题上工作了几个小时。我曾尝试使用列表理解,但问题是它的上层列表似乎是一个字典列表,我不知道如何将它们转换为列表中的项目。我是 python 新手,所以如果有人能给我一些提示,那就太好了。提前感谢您的回答!

标签: pythonlistdictionary

解决方案


看起来你在这里有两个目标。您需要一个包含所有数据点的列表,并且您需要一个包含数据点对的列表列表。

  1. 对于您的第一个目标,只需遍历 dicts 并将两个值附加到一个列表中。
all_values = []
for dict in my_list:
  all_values.append(dict['lat'])
  all_values.append(dict['long'])
  1. 正如评论中提到的,您可以通过将字典列表转换为列表列表来轻松实现第二个目标。您可以像我们上面所做的那样执行此操作,但只需一行简单的代码。

list_of_pairs = [[dict['lat'], dict['lon']] for dict in my_list]

就是这样!现在您已经获得了所需的两个列表。


推荐阅读