Comparing a string to multiple items in Python Comparing a string to multiple items in Python python python

Comparing a string to multiple items in Python


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.


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.