Python 如何将字符串形式的坐标对列表转换为浮点对列表?
我正在从kml文件中读取坐标列表,给出以下输出: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
['-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
是一个表示在列表的每个成员上执行此操作”,因此我使用它将拆分的字符串
值转换为浮点
。因此返回的列表坐标
是列表
的列表
的浮点
。这只为我返回一个映射对象列表?否。映射
是一个表示在列表的每个成员上执行此操作”,因此我使用它将拆分的字符串
值转换为浮点
。因此返回的列表坐标
是列表
的列表
的浮点
。这只为我返回一个映射对象列表?否。映射
是一个表示对列表的每个成员执行此操作”,因此我使用它将拆分的字符串
值转换为浮点
。因此返回的列表坐标
是列表
的列表
的浮点
。