当前位置: 代码迷 >> python >> 嵌套for循环中的Python“条件”
  详细解决方案

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

热度:139   发布时间:2023-06-13 13:33:03.0

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

如果不是None,我想将此字符串添加到dict中。这是代码:

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

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

我尝试在各处放置中断,但似乎无法使其正常工作。 如果我更换

dictt['shopping'] = ala

与:

print url, ala

它可以正常工作,并且仅输出正确的url和ala值。

有任何想法吗?

的这部分代码str(ala) != 'None'被比较的字符串到另一个字符串

如果要进行显式比较,可以将其重写为str(ala) != None (None语句无引号)

另一种方法是重新编写类似pythonic的方法,例如:

if ala:
    dictt['shopping'] = ala