title: python: filter() an iterable, count filtered and not filtered items
body: <p>I have a big <code>Iterable</code>.<br>
  and i want to filter it using <code>filter()</code> function.<br>
  how can i count (in some elegant way) how many items are filtered?<br>
  (same question could be for <code>map()</code>, <code>reduce()</code> etc)</p>
  
  <p>sure i can just make:</p>
  
  <pre><code>items = get_big_iterable()
  count_good = 0
  count_all = 0
  for item in items:
      if should_keep(item):
          count_good += 1
      count_all += 1
  
  print('keep: {} of {}'.format(count_good, count_all))
  </code></pre>
  
  <p>is it somehow possible with <code>filter()</code>?</p>
  
  <pre><code>items = filter(should_keep, get_big_iterable()) 
      for item in items:
          #... using values here ..
          #possible count not filtered items here too? 
  </code></pre>
  
  <p>I should not iterate twice, and would like to use <code>filter()</code> or similar solution</p>