【发布时间】:2015-06-02 14:22:24
【问题描述】:
我有一个清单:
mylist = ['item 101', 'element 202', 'string 303', 'member 404']
我想识别与“item”关联的三个数字,但“item”并不总是在同一个位置,所以我不能使用mylist[0]。
我查看了this StackOverflow post 中接受的答案,并尝试了以下方法:
if any('item' in s for s in mylist):
print(s)
我收到以下错误:
NameError: name 's' is not defined
研究了该错误,但我找不到任何适合这种特殊情况的示例/解决方案。
【问题讨论】:
-
您收到此错误的原因是因为
s仅在该生成器表达式的生命周期内。一旦它用尽并且any()返回它的值s将不再可用。
标签: python list python-3.x list-comprehension