嵌套for循环中的Python“条件”

时间:2015-10-19 13:22:47

标签: python

getcat(di) - (第6行)函数返回“None”或某些字符串到我的main函数。

我想在dict中添加这个字符串,如果它不是None ......这是代码:

getids = Url.objects.values_list('keyword', 'id', 'url')
    for keyword, id, url in getids:            
        if Url.objects.get(id=id).url != None:
        ...
        ...
        ala = getcat(anResults)

        if str(ala) != 'None':
            dictt['shopping'] = ala         
        else:
            pass

问题是,一旦它通过!='无'它会继续将相同的字符串添加到所有未来的循环中。

我尝试在任何地方放置休息,似乎无法使其发挥作用。如果我更换

dictt['shopping'] = ala

使用:

print url, ala

它可以正常工作并打印正确的URL和ala值。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

代码str(ala) != 'None'的这一部分是将字符串与另一个字符串进行比较,其值为

如果您想要进行明确比较,可以重新写入str(ala) != None (无语句无引号)

另一种方式是重写一个更加pythonic的方式,如:

if ala:
    dictt['shopping'] = ala