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

将字符串格式坐标列表转换为数值型嵌套坐标列表的问题

字符串坐标列表转数值型嵌套列表的解决方案

问题场景

给定字符串格式的坐标列表:

my_list =['44324,-34244', '44885.1,-33445.6', '45373.1,-32849.8', '45380.1,-32625.6', '44635.7,-32285.6', '44635.7,-32285.6']

需要转换为数值型的嵌套坐标列表:

[[44324,-34244], [44885.1,-33445.6], [45373.1,-32849.8], [45380.1,-32625.6], [44635.7,-32285.6], [44635.7,-32285.6]]

使用代码coords = [map(float,i.split(",")) for i in my_list]时,输出为<map object at 0x7f7a7715d2b0>这类迭代器对象,无法得到预期结果。

原因分析

Python3中map()函数返回的是迭代器对象,而非直接生成列表,因此列表推导式得到的是一组迭代器,不是数值列表。

解决方法

方法1:将map对象转为列表

修改代码,把每个map结果用list()包裹,直接生成嵌套列表:

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

方法2:使用嵌套列表推导式

用更直观的嵌套推导式遍历每个坐标字符串的拆分结果,转换为数值:

coords = [[float(coord) for coord in i.split(",")] for i in my_list]

两种方法运行后,都能得到预期的数值型嵌套坐标列表。


内容的提问来源于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:40:24