搜索嵌套列表&输出Python错误的结果

时间:2012-03-02 07:08:31

标签: python search nested

我已经在这里学习了几个月的示例python,但现在是时候自己问一个了。

我目前正在处理一个工作中的脚本,该脚本从网站上删除作业队列&如果存在某种情况,则发送通知。

困难的部分不在路上我将结果分成嵌套列表,但是当我尝试&搜索特定条件如果不存在,我会收到错误。

customers = [['00:00:02', 'S3'], ['00:00:46', 'S2']]

[item for item in customers if 'S2' in item[1]]
print('%s %s') % (item[1], item[0])

如果存在“S2”条件,则上述条件效果很好,但如果没有(因为页面即时搜索可能没有),我会收到错误:

UnboundLocalError: local variable 'item' referenced before assignment

这可能是一个非常基本的问题,但我怎样才能阻止此错误发生?

1 个答案:

答案 0 :(得分:2)

在python 2.x中,列表推导中使用的变量(此处为item)从列表推导中泄漏到周围的范围中。之后使用它通常不是一个好主意或清晰的代码。尝试这样的事情:

filtered_list = [item for item in customers if 'S2' in item[1]]
for item in filtered_list:
    print('%s %s') % (item[1], item[0])