在python中将字符串(坐标串)解析为浮点列表的干净方法?

在python中将字符串(坐标串)解析为浮点列表的干净方法?,python,Python,我正在编写越来越难看的代码来获取这个字符串: "69.766357,21.026979 70.303459,14.286892 71.782379,15.119740 71.216835,22.351538" 并将其解析为如下所示的列表: pos = [[69.766357,21.026979],[70.303459,14.286892],[71.782379,15.119740],[71.216835,22.351538],[69.766357,21.026979]] 最新代码: #sha

我正在编写越来越难看的代码来获取这个字符串:

"69.766357,21.026979 70.303459,14.286892 71.782379,15.119740 71.216835,22.351538"
并将其解析为如下所示的列表:

pos = [[69.766357,21.026979],[70.303459,14.286892],[71.782379,15.119740],[71.216835,22.351538],[69.766357,21.026979]]
最新代码:

#shave off the first point because we need to add it back in to close poly
firstVal = elem.text.split()
firstVal = firstVal[0].split(',')


for i in elem.text.split():
    smallList = []
    for j in i.split(','):
        smallList.append(float(j))                      
    finalVals.append(smallList)

smallList=[]
smallList.append(float(firstVal[0]))
smallList.append(float(firstVal[1]))
finalVals.append(smallList)

print finalVals

这是我能想到的最好的方法。

有一种干净的python方法可以满足你的需求,叫做列表理解
test = "69.766357,21.026979 70.303459,14.286892 71.782379,15.119740 71.216835,22.351538"

print([[float(j) for j in i.split(',')] for i in test.split()])
您需要对您需要的内容进行两个列表理解,如下所示:

pos_string = "69.766357,21.026979 70.303459,14.286892 71.782379,15.119740 71.216835,22.351538"
pos = []
pos = [[float(lat_long) for lat_long in position.split(',')] for position in pos_string.split(' ')]

对于你正在寻找的东西,有一个干净的python方法,叫做列表理解 您需要对您需要的内容进行两个列表理解,如下所示:

pos_string = "69.766357,21.026979 70.303459,14.286892 71.782379,15.119740 71.216835,22.351538"
pos = []
pos = [[float(lat_long) for lat_long in position.split(',')] for position in pos_string.split(' ')]

你所做的很简单。另一方面,你所期待的不是这样:)你能解释一下你在寻找什么吗。短码?使用库?如果您的代码已经在运行,最好询问。我还建议发布您当前使用的代码,以便我们指出需要改进的地方。我不知道codereview stackexchange是否存在,这是一个很好的资源,谢谢您的帖子。您所做的非常简单。另一方面,你所期待的不是这样:)你能解释一下你在寻找什么吗。短码?使用库?如果您的代码已经在运行,最好询问。我还建议发布您当前使用的代码,以便我们指出需要改进的地方。我不知道codereview stackexchange是否存在,这是一个很好的资源,非常感谢您的发布。根据其他人的请求发布代码,但主要基于此答案。根据其他人的请求发布代码,但主要基于此答案。对于链接,我不知道这叫什么。你的欢迎(:@codejoy对于链接,我不知道这叫什么。你的欢迎(:@codejoy