我在python中编写了一个解析一些字符串的脚本。
问题是我需要检查字符串是否包含某些部分。 我发现的方式不够聪明。
这是我的代码:
if ("CondA" not in message) or ("CondB" not in message) or ("CondC" not in message) or ...:
有没有办法优化这个?我有6个其他检查这种情况。
答案 0 :(得分:2)
您可以使用any
功能:
if any(c not in message for c in ("CondA", "CondB", "CondC")):
...
答案 1 :(得分:2)
使用any()
或all()
:
if any(c not in message for c in ('CondA', 'CondB', ...)):
...
在Python 3中,您还可以使用map()
懒惰:
if not all(map(message.__contains__, ('CondA', 'CondB', ...))):