title: Take every nth block from list
body: <p>Given a list:</p>
  
  <pre><code>import string
  a = list(string.ascii_lowercase)
  </code></pre>
  
  <p>What is the Pythonic way to return every <em>nth</em> block of <em>m</em> elements?  Note that this is different from just returning <a href="https://stackoverflow.com/questions/1403674/pythonic-way-to-return-list-of-every-nth-item-in-a-larger-list">every <em>nth</em> element</a>.</p>
  
  <p>Desired result of taking every <em>1st of 3 blocks of 3 elements</em> (take 3, skip 6, take 3, skip 6...):</p>
  
  <pre><code>['a', 'b', 'c', 'j', 'k', 'l', 's', 't', 'u']
  </code></pre>
  
  <p>I can get to this as:</p>
  
  <pre><code>import itertools
  s1 = a[::9]
  s2 = a[1::9]
  s3 = a[2::9]    
  res = list(itertools.chain.from_iterable(zip(s1,s2, s3)))
  </code></pre>
  
  <p>Is there a cleaner way?</p>