title: Best practice to split a list based on a condition
body: <p>I frequently want to split a list based on a condition. I have considered the following two methods.</p>
  <pre><code>big = [x for x in mylist if x &gt; cutoff]
  small  = [x for x in mylist if x &lt; cutoff]
  </code></pre>
  <p>and</p>
  <pre><code>big = []
  small = []
  
  for x in mylist:
      if x &gt; cutoff: big.append(x)
      else: small.append(x)
  </code></pre>
  <p>Which method is better from an efficiency and readability point of view. Is there another method I haven't considered which would be better?</p>