Вы можете использовать requests
, чтобы получить JSON данные из URL вашего сервера, а затем создать новый словарь с country
в качестве ключа:
from requests import get
URL = "https://coronavirus-19-api.herokuapp.com/countries"
req = get(URL).json()
result = {obj['country']: {k: v for k, v in obj.items() if k != 'country'} for obj in req}
print(result)
Вывод:
{'China': {'cases': 80894, 'todayCases': 13, 'deaths': 3237, 'todayDeaths': 11, 'recovered': 69614, 'active': 8043, 'critical': 2622}, 'Italy': {'cases': 31506, 'todayCases': 0, 'deaths': 2503, 'todayDeaths': 0, 'recovered': 2941, 'active': 26062, 'critical': 2060}...
Теперь вы можете получить доступ к своим данным за O (1) времени вместо линейного сканирования O (N) :
print(result["Czechia"])
# {'cases': 464, 'todayCases': 30, 'deaths': 0, 'todayDeaths': 0, 'recovered': 3, 'active': 461, 'critical': 2}
Примечание: Вероятно, также безопасно гарантировать, что req.status_code
- это 200 OK или все, что вы ожидаете получить от сервера.