Извлечь точное значение из списка - PullRequest
0 голосов
/ 15 марта 2019

как я могу извлечь из этого долготу и широту -

Элемент (место = '12 км к юго-востоку от вулкана, Гавайи', длинный = -155.2005, широта = 19,3258333, глубина = 6,97, маг = 5,54)

Часть кода ниже

lrgst = features[0]
print ('\n',lrgst)
plt.bar(y_pos, magn)
plt.xticks(y_pos, loc)
plt.ylabel('Magnitude')
plt.show()


features = list(get_info()) #Storing our json information into a list 'Features'

Ответы [ 2 ]

0 голосов
/ 15 марта 2019

Я пытался извлечь с помощью регулярных выражений ... но что-то не работает ..

если это сработало, то проблема Алекса с будет решена ...

почему это не соответствует ничему?

place="12km SSE of Volcano, Hawaii', long=-155.2005, lat=19.3258333, depth=6.97, mag=5.54"

a1=re.match("r(long=)([\-\d\.]*)",place)
if a1:
     print (a1.groups(1))
0 голосов
/ 15 марта 2019

Предполагая, что "features" - это список записей, как в приведенном примере, это решение будет работать:

features = ["Feature(place='12km SSE of Volcano, Hawaii', long=-155.2005, lat=19.3258333, depth=6.97, mag=5.54)"]

def find(string, char_before, char_after):
    start = string.find(char_before) + len(char_before)
    end = string[start:].find(char_after) + start
    return string[start:end]

long = find(features[0], 'long=', ', ')
lat = find(features[0], 'lat=', ', ')

print(lat + ', ' + long)

    19.3258333, -155.2005
...