Как получить доступ к элементу из функции, выводимой в списке? - PullRequest
2 голосов
/ 23 декабря 2019

Я хочу получить доступ к значению zipcode в выводе, который возвращается как часть предопределенной функции uszipcode. Но я не уверен, как мне это сделать? Любые идеи?

from uszipcode import SearchEngine
search = SearchEngine(simple_zipcode=False)
result = search.by_coordinates(44.102665, -121.300797, radius=10, returns=5)
print(result)

Выходные данные выглядят так:

[SimpleZipcode (zipcode = '97701', zipcode_type = 'Standard', major_city = 'Bend', post_office_city =' Bend, OR ', common_city_list = [' Bend '], округ =' Deschutes County ', штат = "OR", lat = 44.0, lng = -121.3, часовой пояс = "Pacific", radius_in_miles = 37.0,area_code_list = [ '458', '541'], население = 58993, population_density = 87,0, land_area_in_sqmi = 678,9, water_area_in_sqmi = 5,25, housing_units = 27682, occupied_housing_units = 24589, median_home_value = 285300, median_household_income = 53444, bounds_west = -121,977954, bounds_east= -120.747881, bounds_north = 44.328125, bounds_south = 43.752828)]

Я хочу получить доступ к значению zipcode внутри SimpleZipcode, которое равно '97701'.

Ответы [ 3 ]

1 голос
/ 23 декабря 2019

Похоже, результаты - это массив объектов SimpleZipcode. Таким образом, вы можете получить доступ к интересующему почтовому индексу через

result[0].zipcode

. Это возвращает самый первый элемент почтового индекса в массиве возвращенных почтовых индексов

1 голос
/ 23 декабря 2019

Имейте в виду, что, поскольку вы в основном ищете или фильтруете , вы можете получить несколько результатов. Ваш запрос возвращает список (или, вернее, массив) почтовых индексов.

Поскольку ваш конкретный запрос возвращает список, содержащий один объект, вы можете просто получить его следующим образом: print(result[0].zipcode)

Подробнееоб этом в документации: https://uszipcode.readthedocs.io/index.html#example-usage

Поиск по широте и долготе Вы можете искать все почтовые индексы в диапазоне XXX миль от координаты. Вы можете добавить return = xxx, чтобы установить максимальное количество почтовых индексов, которые могут быть возвращены. По умолчанию это 5. Используйте return = 0, чтобы снять ограничение. Результаты сортируются по расстоянию от центра, от низшего к высшему.

result = search.by_coordinates (39.122229, -77.133578, radius = 30)

len (res) # по умолчанию 5 результатов вернуло

5

для почтового индекса в результате:

... # делайте что хотите ...

result = search.by_coordinates (39.122229, -77.133578, радиус = 100, возвращает = нет)

len (результат) # предел возврата снят 3531

0 голосов
/ 23 декабря 2019

result = result.values ​​() должен изменить строку на список

, поэтому что-то вроде

result=result.values()
zipcode=result[0]

должно сделать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...