Reputation: 81
I wrote a script in python that parses some strings.
The problem is that I need to check if the string contains some parts. The way I found is not smart enough.
Here is my code:
if ("CondA" not in message) or ("CondB" not in message) or ("CondC" not in message) or ...:
Is there a way to optimize this? I have 6 other checks for this condition.
Upvotes: 3
Views: 1231
Reputation: 298256
Use a generator with any()
or all()
:
if any(c not in message for c in ('CondA', 'CondB', ...)):
...
In Python 3, you could also make use of map()
being lazy:
if not all(map(message.__contains__, ('CondA', 'CondB', ...))):
Upvotes: 2
Reputation: 22561
You can use any
function:
if any(c not in message for c in ("CondA", "CondB", "CondC")):
...
Upvotes: 2