Python: IndexError: список индексов вне диапазона: невозможно определить проблему
string= "1110 Boston Road\nBronx, NY 10456\n(40.8276026690005, -73.90447525699966)"
Я хочу извлечь значение -73.90447525699966 из приведенной выше строки.
Код:
coordinates=re.findall("\(.+\)",string)
lat=string[0].split(",")[1].replace(")","").strip()
Ошибка: IndexError: список индексов вне диапазона
Когда я извлекаю значение 40.8276026690005 с помощью аналогичной функции (упомянутой ниже), она работает нормально.
coordinates=re.findall("\(.+\)",string)
lat=coordinates[0].split(',')[0].replace('(','')
Пожалуйста помоги.
1 ответ
Решение
Используйте регулярное выражение, которое не захватывает скобки, а затем распаковка в переменные очень проста:
coordinates = re.search('\((.+)\)', string).group(1)
lat, long = (float(c.strip()) for c in coordinates.split(','))
дает:
>>> lat
40.8276026690005
>>> long
-73.90447525699966