搜索嵌套列表&;在Python错误中输出结果
我已经在这里学习了几个月的python示例,但现在是我自己问一个问题的时候了 我目前正在编写一个脚本,它可以从网站上刮取作业队列,并在存在特定条件时发送通知 最困难的部分已经解决了&我将结果拆分为嵌套列表,但是当我尝试搜索特定条件时,如果它不存在,我会得到一个错误搜索嵌套列表&;在Python错误中输出结果,python,search,nested,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')
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
这可能是一个非常基本的问题,但如何才能阻止此错误的发生?在Python2.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])