python - 从变量字符串中提取坐标

6 投票
3 回答
8134 浏览
提问于 2025-04-16 12:34

我有一个包含经纬度的字符串,格式像这样:

my_string ='(31.251, -98.877)'

我想用Python从这个字符串中提取出坐标。

问题是这个字符串的长度有时候会变化,所以有时候它看起来像这样 (31.25134, -98.877),有时候又像这样 (31.25134, -98.877435)

所以如果我用 my_string[9:15] 来提取最后一个数字(经度),如果第一个数字(纬度)比较长,我就会把右括号 ')' 也提取出来,这样就不对了。

有没有什么办法可以正确地从这个字符串中提取出这些坐标呢?谢谢!

3 个回答

2

在编程中,有时候我们会遇到一些问题,可能是因为代码写得不够清晰,或者是我们对某些概念理解得不够透彻。比如,有人可能在使用某个函数时,发现它的表现和预期不太一样,这时候就需要仔细检查代码,看看是不是哪里出了问题。

另外,编程的世界里有很多不同的工具和语言,每种工具都有自己的特点和用法。对于初学者来说,了解这些工具的基本功能是非常重要的,这样才能更好地解决问题。

总之,编程就像解谜一样,需要耐心和细心。遇到问题时,不妨多查阅资料,或者向其他人请教,慢慢你就会掌握这些技能。

(x, y) = (float(x) for x in my_string[1:-1].split(","))
12
>>> ast.literal_eval('(31.251, -98.877)')
(31.251, -98.877)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

9

这样做怎么样:

mystr = '(31.251, -98.877)'

lat, lng = map(float, mystr.strip('()').split(','))

这个方法应该可以正常工作,不管值的长度是多少。

撰写回答