Python:IndexError:列表索引超出范围:无法找出问题

时间:2018-01-25 19:35:08

标签: python-3.x replace strip

|

我想从上面的字符串中提取值-73.90447525699966。

代码:

string= "1110 Boston Road\nBronx, NY 10456\n(40.8276026690005, -73.90447525699966)"
  

错误:IndexError:列表索引超出范围

当我提取具有类似功能(如下所述)的值40.8276026690005时,它工作正常。

coordinates=re.findall("\(.+\)",string)
lat=string[0].split(",")[1].replace(")","").strip()

请帮忙。

1 个答案:

答案 0 :(得分:1)

使用不捕获括号的正则表达式,然后解压缩到变量非常简单:

coordinates = re.search('\((.+)\)', string).group(1)
lat, long = (float(c.strip()) for c in coordinates.split(','))

给出:

>>> lat
40.8276026690005
>>> long
-73.90447525699966