Сначала исправляют синтаксис, выполняют GET с timeout и проверяют статус; если JSON — список объектов, имена получают выражением [user['name'] for user in data].
Дан урл
Сначала исправляют синтаксис, выполняют GET с timeout и проверяют статус; если JSON — список объектов, имена получают выражением [user['name'] for user in data].
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
#Дан урл #[link] #Надо получить списком имена всех пользователей из ответа import requests url = "[link] def test response = requests.get(url)
print(response.json()) names = [user['name'] for user in response.json()] print(names)
Ответ
Сначала исправляют синтаксис, выполняют GET с timeout и проверяют статус; если JSON — список объектов, имена получают выражением [user['name'] for user in data].
Адрес и схема ответа скрыты, поэтому следующий вариант применим именно к массиву объектов с полем name:
import requests
def fetch_names(url):
response = requests.get(url, timeout=10)
response.raise_for_status()
data = response.json()
if not isinstance(data, list):
raise ValueError("Ожидался список пользователей")
return [user["name"] for user in data]
Если API возвращает обёртку или страницы, нужно использовать реальный контракт и собрать все страницы. Отсутствующее поле не следует молча превращать в пустое имя, если контракт требует name.