首页 > 解决方案 > 如何在循环语句之外打印正确的输出

问题描述

当我运行以下代码时,我得到下面的输出,这是正确的:

for object in buck:
    if object.url.startswith("https://....01fhekh01") \
    or object.url.startswith("https://...01fkejrig05"):
        print(object)

输出:

<Object url='https://....01fhekh01-fkjflekjl' etag='"ewjhwehroie30923r"'>
<Object url='https://.......01fkejrig05-fjkjefojeof' etag='"265af8a7a0b69d3c173d40916fc2c5eb"'>

但是,当我在循环语句之外打印输出时,会得到不同的输出,这是错误的:

for object in buck:
    if object.url.startswith("https://....01fhekh01") \
    or object.url.startswith("https://...01fkejrig05"):
        print(object)

print(object)

输出:

*correct output from the print inside the loop statement*

wrong output from the print outside of the loop statement:
<Object url='https://....kjwekjweijtoeirjtoeri' etag='"sfakjlakfjsf"'>

如何从循环语句中打印正确的输出?

标签: pythonloops

解决方案


嗨,你可以试试这个:

 ls=[]
 for object in buck:
    if object.url.startswith("https://....01fhekh01") \
    or object.url.startswith("https://...01fkejrig05"):
       ls.append(object)
print(ls)

推荐阅读