You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将字符串坐标列表转换为数值坐标列表?(Python)

字符串坐标列表转数值型二维列表

原始字符串格式的坐标列表:

flat_list =['53295,-46564.2', '53522.6,-46528.4', '54792.9,-46184', '55258.7,-46512.9', '55429.4,-48356.9', '53714.5,-50762.8']

期望转换为数值类型的二维坐标列表:

[[53295,-46564.2], [53522.6,-46528.4], [54792.9,-46184], [55258.7,-46512.9], [55429.4,-48356.9], [53714.5,-50762.8]]

问题分析

  1. 执行l = [i.strip("'") for i in flat_list]无效:列表元素本身是不含单引号的字符串,单引号是Python定义字符串的语法符号,并非元素内容,所以这个操作对转换没有帮助。
  2. 执行coords = [map(float,i.split(",")) for i in flat_list]输出<map object at 0x7f7a7715d2b0>:Python 3中map()函数返回的是迭代器对象,而非直接生成列表,需要显式转换才能得到预期的数值数组。

正确实现方案

方案一:将map对象转为列表

在列表推导式中把map的结果转换为列表:

coords = [list(map(float, i.split(","))) for i in flat_list]
print(coords)

方案二:嵌套列表推导式(更直观)

直接通过两层列表推导式逐个转换坐标值:

coords = [[float(num) for num in i.split(",")] for i in flat_list]
print(coords)

以上两种方法都能输出你需要的数值型二维坐标列表。

内容的提问来源于stack exchange,提问作者user110920

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:10:30