Python:查看列表中“if any”语句是tru的值

2024-09-27 07:22:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个从日志文件中整理出来的用户列表(uniqueUsers)

现在,我想看看哪个用户正在做什么,在什么时候做什么,并使用这个if语句来检查我读入的整个日志文件:

if any(x in line for x in uniqueUsers) and "borrow" in line or "return" in line:

在这之后,我做的是使用正则表达式从行中获取用户ID,但我开始怀疑是否有任何方法可以以非常简短的形式获取Python在这种情况下找到的用户:

any(x in line for x in uniqueUsers)

Tags: orand文件用户inid列表for
1条回答
网友
1楼 · 发布于 2024-09-27 07:22:36

将条件移动到谓词并存储结果(使用列表理解而不是生成器表达式):

users_in_line = [u for u in uniqueUsers if u in line]
if users_in_line and "borrow" in line or "return" in line:
    # do something with list users_in_line
    ...

这使用了一个事实,即空列表在布尔上下文中表现为“虚假”,而非空列表(无论其内容如何)表现为“真实”

相关问题 更多 >

    热门问题