title: How does Python evaluate multiple conditions in or statement?
body: <p>Occasionally, I have this problem where I want to check:</p>
  
  <pre><code>a = 'my string'
  if 'string1' in a or 'string2' in a or 'string3' in a ... or 'stringN' in a:
      [[do something]]
  else:
      [[something else]]
  </code></pre>
  
  <p>Suppose I know that there's a 90% chance <code>'string1' in a</code> evaluates to <code>True</code>. Will Python still evaluate if <code>'string2' in a</code> in this case where <code>'string1' in a</code> is <code>True</code>? Or is it technically more efficient to write:</p>
  
  <pre><code>if 'string1' in a:
      [[do something]]
  elif 'string2' in a:
      [[do something]]
  elif 'string3' in a:
      [[do something]]
  ...
  elif 'stringN' in a:
      [[do something]]
  else:
      [[something else]]
  </code></pre>