Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python for循环返回最后一个对象,而不是前面的对象_Python_Loops_For Loop - Fatal编程技术网

Python for循环返回最后一个对象,而不是前面的对象

Python for循环返回最后一个对象,而不是前面的对象,python,loops,for-loop,Python,Loops,For Loop,当我打印以下打印,但当我返回时,我只得到最后一个 def excel(vendor_ids): for i in vendor_ids: t = Test() c = pycurl.Curl() c.setopt(c.URL, (str("https://api.box.com/2.0/folders/%s")%(i))) c.setopt(pycurl.HTTPHEADER, ['Authorization: Bearer

当我打印以下打印,但当我返回时,我只得到最后一个

def excel(vendor_ids):
    for i in vendor_ids:
        t = Test()
        c = pycurl.Curl()
        c.setopt(c.URL, (str("https://api.box.com/2.0/folders/%s")%(i)))
        c.setopt(pycurl.HTTPHEADER, ['Authorization: Bearer %s'%(access_token)])
        c.setopt(c.WRITEFUNCTION, t.body_callback)
        c.perform()
        c.close()
        contents=(t.contents)
        #print(contents)
        jsondict=(json.JSONDecoder().decode(contents))
        collect=(jsondict['item_collection'])
        ids= (collect['entries'])
        dic=[]
        for k in ids:
            print(k)
            return k 


K=excel(vendor_ids)

您可以做的是将数据存储到列表中,并在最后返回。大概是这样的:

{u'sequence_id': u'0', u'etag': u'0', u'type': u'folder', u'id': u'4322345554', u'name': u'rejected'}
{u'sequence_id': u'0', u'etag': u'0', u'type': u'folder', u'id': u'4392281882', u'name': u'incoming'}
{u'sequence_id': u'0', u'etag': u'0', u'type': u'folder', u'id': u'4392284514', u'name': u'rejected'}
{u'sequence_id': u'0', u'etag': u'0', u'type': u'folder', u'id': u'4866336745', u'name': u'imports'}
{u'sequence_id': u'0', u'etag': u'0', u'type': u'folder', u'id': u'4912855065', u'name': u'Incoming'}
{u'sequence_id': u'0', u'etag': u'0', u'type': u'folder', u'id': u'4912855189', u'name': u'Rejected'}

但是您的外部循环仍然只迭代一次,我无法真正理解您的代码和用例,但是,如果你有生成器的概念并且符合你的用例,你可以使用收益率而不是收益率。

我尝试了缩进和其他步骤,这些步骤是为类似的问题建议的,没有任何luckI am的收益率,但它一旦超出了循环,这意味着什么?我相信结果是打印出来的,只是因为某些原因没有放入对象中,这正是我正在运行的代码,它可以工作。这段代码有bug,因为,您在内部for循环中返回。因此,在内部for循环的第一次迭代之后,您的函数立即返回,因此很明显,内部for循环和外部for循环的其余部分将不会执行。dic=[]对于k in id:printk dic.appendkb,现在它返回最后2个字典,我仍然希望函数返回所有字典代码正在读取id列表,正在打印的是每个文件夹中的id,即:vendor\u id
lst=[]   
for k in ids:
    print(k)
    lst.append(k)
return lst