Python 从函数内的循环打印:不同的输出

Python 从函数内的循环打印:不同的输出,python,Python,我正在编写一个函数,它遍历一个列表并处理每个作业,我想检查我是否正确编写了它,因此我在处理代码之后向函数添加了printbody,我希望根据作业列表向我显示具有不同内容的每一行,但我看到的所有行都具有相同的结果 以下是我的功能: # Iterate through the requests and execute them def update_conversions(service): for req in request_bodies: request = service.c

我正在编写一个函数,它遍历一个列表并处理每个作业,我想检查我是否正确编写了它,因此我在处理代码之后向函数添加了printbody,我希望根据作业列表向我显示具有不同内容的每一行,但我看到的所有行都具有相同的结果

以下是我的功能:

# 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)

这两个请求之间有什么区别导致第一个请求多次重复最后一行?

问题在于变量体的级别,我没有注意到它在请求变量中


将我的代码更改为printrequest.body将显示预期结果,列表中的每个项目对应一行。

您的第一个示例不可复制,因为没有定义请求正文和正文。另外,如果不知道service.conversion.updatebody=req做了什么,就无法判断那里发生了什么。