python - 搜索嵌套列表并在Python错误中输出结果

标签 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

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

最佳答案

在 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])

关于python - 搜索嵌套列表并在Python错误中输出结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9529369/

相关文章:

python - 引用被 Python 中的 pickling 弄乱了

python - django - 不显示模板文件中的更改

mysql - innoDB MySQL 中的关键字研究

python - Jython 日期转换

python - 将更改应用于数组中的元素

php - 在php mySQL数据库搜索查询中捕获整个单词而不是部分单词

php - 使用 "saved"搜索进行数据分页

r - 合并嵌套列表中的数据框

r - 嵌套 ifelse : improved syntax

java - JAVA如何获取数组重复项的位置