【发布时间】:2026-01-25 11:20:02
【问题描述】:
下面的代码 sn-p 返回一个错误,即未定义全局名称“item”。如果在列表中找到字符串,如何正确使用 if any(...) 搜索和打印字符串?
def walk:
list = ["abc", "some-dir", "another-dir", ".git", "some-other-dir"]
if any (".git" in item for item in list):
print item,
【问题讨论】:
-
你没有。如果要枚举所有匹配项,请不要使用
any()。 -
另外,
item将只存在于您的any方法调用的范围内。这也是您收到item未定义错误消息的原因。 -
@MartijnPieters 你的意思是建议我改用“all”吗?如果我只想找到任何一个实例怎么办?在那种情况下,使用“任何”会是一个有效的用例吗?
-
@idjaw 是的,这对我来说很有意义,那么我该如何解决呢?通过将 item 定义为全局?
-
@SiddharthPatil 查看提供的答案。所有信息都在那里,并且解释得很好。
标签: python for-loop if-statement any