I\'m trying to compare a string called facility
to multiple possible strings to test if it is valid. The valid strings are:
auth, authpriv, daem
Unless your list of strings gets hideously long, something like this is probably best:
accepted_strings = ['auth', 'authpriv', 'daemon'] # etc etc
if facility in accepted_strings:
do_stuff()
To efficiently check if a string matches one of many, use this:
allowed = set(('a', 'b', 'c'))
if foo in allowed:
bar()
set()
s are hashed, unordered collections of items optimized for determining whether a given item is in them.
If, OTOH, your list of strings is indeed hideously long, use a set:
accepted_strings = {'auth', 'authpriv', 'daemon'}
if facility in accepted_strings:
do_stuff()
Testing for containment in a set is O(1) on average.