if 'string1' in line: ...
Run Code Online (Sandbox Code Playgroud)
...按预期工作,但如果我需要检查多个字符串,如下所示:
if 'string1' or 'string2' or 'string3' in line: ...
Run Code Online (Sandbox Code Playgroud)
......似乎没有用.
Ign*_*ams 27
if any(s in line for s in ('string1', 'string2', ...)):
Run Code Online (Sandbox Code Playgroud)
如果你读这样的表达
if ('string1') or ('string2') or ('string3' in line):
Run Code Online (Sandbox Code Playgroud)
问题变得很明显。将会发生的是 'string1' 的计算结果为 True,因此表达式的其余部分被短路。
写它的长手方式是这样的
if 'string1' in line or 'string2' in line or 'string3' in line:
Run Code Online (Sandbox Code Playgroud)
这有点重复,所以在这种情况下,最any()好像 Ignacio 的回答那样使用
| 归档时间: |
|
| 查看次数: |
10704 次 |
| 最近记录: |