как это влияет на результат файла json при изменении значения массива

#python #json #python-requests

Вопрос:

почему содержимое репозитория меняется, когда мы меняем значение в массиве с 0 на любое другое число «json_response[‘items’][0]»

 import requests
response = requests.get('https://api.github.com/search/repositories',params={'q':'requests language:python'},)

json_response = response.json()

repository = json_response['items'][0]

print(f'Repository name: {repository["name"]}')
 
print(f'Repository description: {repository["description"]}') 

 

Комментарии:

1. json_response [«элементы»] — это массив всех совпадающих результатов. 0 это первый результат, 1 это второй результат и так далее. Ты об этом спрашиваешь?

Ответ №1:

TL;DR
Файл JSON не изменяется, вы просто ссылаетесь на подмножество JSON.

Вы можете попробовать сделать:

 print(json_repsonse['items'])
 

Это поможет вам понять, что ответ json для ключа: «элементы» вернет огромный список различных имен репозиториев в виде списка.

 type(json_response['items'])
 

возвращает тип списка. Таким образом, «[0] » после него просто ссылается на первый элемент (в вашем случае имя репозитория) в списке. Когда вы измените его на [1], он будет ссылаться на второй элемент в списке имен репозиториев. Поэтому имена репозиториев меняются.