Python 循环和 if 语句奇怪的问题

Python loop and if statment weird issues

好的,我不明白发生了什么。我正在遍历查询的输出。一个很正常的循环,如果。问题是当我尝试执行 results[o] < 30 时。它不会打印出变量。由于某些原因,列数据少于 30,它们不打印。即使我打印一个字符串。什么都没发生。 else 语句将打印但不打印 if。在我的烧瓶模板上,我有类似的代码并且可以正常工作。我做错了什么。结果[0] 是 int 类型。所以我不知道问题是什么。我没有收到任何错误。

    for recordset in return_stored_procedure:
        results.append(dict(zip(sp_column_names, recordset)))
        if results[0]['days_column'] <= 30:
           print variable
        else:
           print variable

***更新*****
解决了问题谢谢大家。现在进行更正,我将从列表中删除我不想要的内容。

    for l in sp_results:
        if l['column'] < 30:
            newlist.append(l)

现在开始理解列表。而不是这个循环。

很难准确地说出你想要什么,但我假设你想检查 dictdata_column key,而你刚刚 appended results。同样,我不确定这是否是所需的,但是您可以通过获取 -1:

indexresults 中获取最后一个元素
for recordset in return_stored_procedure:
    results.append(dict(zip(sp_column_names, recordset)))
    if results[-1]['days_column'] <= 30:
       print variable
    else:
       print variable