Python 如何将字符串形式的坐标对列表转换为浮点对列表?

Python 如何将字符串形式的坐标对列表转换为浮点对列表?,python,string,list,python-3.x,Python,String,List,Python 3.x,我正在从kml文件中读取坐标列表,给出以下输出: ['-73.9972973,40.7075148', ..., '-73.9850235,40.7900946'] (将…想象成更多类似于第一个和最后一个的坐标) 我正在使用下面的代码来尝试实现这一点,但它不起作用 manhattanCoords = [] for coord in coords: pair = [float(s) for s in coord.strip().split(", ")] manhattanCoo

我正在从kml文件中读取坐标列表,给出以下输出:

['-73.9972973,40.7075148', ..., '-73.9850235,40.7900946']
(将…想象成更多类似于第一个和最后一个的坐标) 我正在使用下面的代码来尝试实现这一点,但它不起作用

manhattanCoords = []

for coord in coords:
    pair = [float(s) for s in coord.strip().split(", ")]
    manhattanCoords.append(pair)
我得到以下错误:

Traceback (most recent call last):
  File "Manhattan_Coords_Extract.py", line 12, in <module>
    pair = [float(s) for s in coord.strip().split(", ")]
  File "Manhattan_Coords_Extract.py", line 12, in <listcomp>
    pair = [float(s) for s in coord.strip().split(", ")]
ValueError: could not convert string to float: '-73.9972973,40.7075148'
回溯(最近一次呼叫最后一次):
文件“Manhattan_Coords_Extract.py”,第12行,在
pair=[coord.strip().split(“,”)中s的浮点值]
文件“Manhattan_Coords_Extract.py”,第12行,在
pair=[coord.strip().split(“,”)中s的浮点值]
ValueError:无法将字符串转换为浮点值:'-73.9972973,40.7075148'

有人有什么建议吗?

您可以反复浏览您的列表,并在
'、
字符上使用
.split()
。然后您可以将它们转换为
float
。在列表理解中,如下所示

l = ['-123.456,532.643', '245.234,241.678', '345.342,344.342']
coords = [map(float,i.split(',')) for i in l]

>>> coords
[[-123.456, 532.643], [245.234, 241.678], [345.342, 344.342]]

您可以在列表中迭代,并在
',
字符上执行
.split()
。然后您可以将它们转换为
float
。在列表理解中,如下所示

l = ['-123.456,532.643', '245.234,241.678', '345.342,344.342']
coords = [map(float,i.split(',')) for i in l]

>>> coords
[[-123.456, 532.643], [245.234, 241.678], [345.342, 344.342]]

您可以在列表中迭代,并在
',
字符上执行
.split()
。然后您可以将它们转换为
float
。在列表理解中,如下所示

l = ['-123.456,532.643', '245.234,241.678', '345.342,344.342']
coords = [map(float,i.split(',')) for i in l]

>>> coords
[[-123.456, 532.643], [245.234, 241.678], [345.342, 344.342]]

您可以在列表中迭代,并在
',
字符上执行
.split()
。然后您可以将它们转换为
float
。在列表理解中,如下所示

l = ['-123.456,532.643', '245.234,241.678', '345.342,344.342']
coords = [map(float,i.split(',')) for i in l]

>>> coords
[[-123.456, 532.643], [245.234, 241.678], [345.342, 344.342]]
使用.split(“,”)而不是.split(“,”)

(没有空间)

感谢零比雷埃夫斯的回答

使用.split(“,”)而不是.split(“,”)

(没有空间)

感谢零比雷埃夫斯的回答

使用.split(“,”)而不是.split(“,”)

(没有空间)

感谢零比雷埃夫斯的回答

使用.split(“,”)而不是.split(“,”)

(没有空间)



感谢零比雷埃夫斯的回答

您的字符串不包含“
”、“
(请注意空格),因此无法在其上拆分。我读取的KML文件与此相同,没有空格,因此我不确定如何在其他情况下读取。如果分隔数字的是逗号而没有空格,请在逗号上拆分而没有空格。您的字符串不包含“
”、“
(请注意空格),因此不能拆分。我读取的KML文件与没有空格的KML文件相同,因此我不确定如何以其他方式读取。如果分隔数字的是逗号而没有空格,请拆分为逗号而没有空格。字符串不包含
,“
(请注意空格),因此无法拆分。我正在读取的KML文件与此相同,没有空格,因此我不确定如何以其他方式读取。如果分隔数字的是逗号而没有空格,请拆分为逗号而没有空格。字符串不包含
,“
(请注意空格),因此无法拆分。我正在读取的KML文件与此相同,没有空格,因此我不确定如何以其他方式读取。如果分隔数字的是逗号而没有空格,则拆分为逗号而没有空格。这只会为我返回贴图对象列表?否。
map
是一个“对列表的每个成员执行此操作”,因此我使用它将拆分的
字符串
值转换为
float
。因此返回的列表
coords
列表
列表
float
。这只为我返回映射对象的列表?否。
map
是一个表示在列表的每个成员上执行此操作”,因此我使用它将拆分的
字符串
值转换为
浮点
。因此返回的列表
坐标
列表
列表
浮点
。这只为我返回一个映射对象列表?否。
映射
是一个表示在列表的每个成员上执行此操作”,因此我使用它将拆分的
字符串
值转换为
浮点
。因此返回的列表
坐标
列表
列表
浮点
。这只为我返回一个映射对象列表?否。
映射
是一个表示对列表的每个成员执行此操作”,因此我使用它将拆分的
字符串
值转换为
浮点
。因此返回的列表
坐标
列表
列表
浮点