我已经在这里学习了几个月的示例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
这可能是一个非常基本的问题,但我怎样才能阻止此错误发生?
答案 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])