【问题标题】:Python: Convert list of coordinates and remove characters [duplicate]Python:转换坐标列表并删除字符[重复]
【发布时间】:2019-11-12 23:12:14
【问题描述】:

我从一个 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],

编辑:这里已经回答了: Turning a list of dictionaries into a list of lists

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

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

【问题讨论】:

  • [[d['lat'], d['lon']] for d in my_list].

标签: python list dictionary


【解决方案1】:

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

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

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

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

【讨论】:

  • 非常非常感谢!你让我今天一整天都感觉很好!在开始阅读列表理解和正则表达式之前,我应该尝试明显的方法。
猜你喜欢
  • 2017-03-03
  • 1970-01-01
  • 2022-01-03
  • 2022-11-17
  • 2022-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多