#python
#python
Вопрос:
Я пишу функцию, которая выполняет итерации по списку и обрабатывает каждое задание, я хотел бы проверить, что я написал это правильно, поэтому я добавил print(body)
в свою функцию после кода обработки, который, как я ожидал, покажет мне каждую строку с различным содержимым в соответствии со списком заданий, но я вижу все строки с одинаковым результатом.
Вот моя функция:
# Iterate through the requests and execute them
def update_conversions(service):
for req in request_bodies:
request = service.conversion().update(body=req)
print(body)
И результат — это содержимое последнего элемента в списке в 10 раз. Список состоит из 10 пунктов.
Когда я перебираю список и просто распечатываю содержимое, я вижу все 10 элементов с разным содержимым, как и ожидалось:
def printer():
for req in request_bodies:
print(req)
В чем разница между этими двумя запросами, из-за которой первый повторяет последнюю строку несколько раз?
Комментарии:
1. Ваш первый пример не воспроизводим, потому что
request_bodies
иbody
не определены. Кроме того, вы не можете сказать, что там происходит, не зная, чтоservice.conversion().update(body=req)
делает.
Ответ №1:
Проблема заключалась в уровне переменной body
, я не заметил, что он был внутри request
переменной.
Изменение моего кода на print(request.body)
показывает ожидаемый результат, по одной строке для каждого элемента в списке.