title: Python conditional joining of *consecutive* strings that don't end in punctuation with those that do
body: <p>I have a list of words,</p>
  
  <pre><code>list1 = ['hello', 'how', 'are', 'you?', 'i', 'am', 'fine', 'thanks.', 'great!']
  </code></pre>
  
  <p>Which I would like to join to be,</p>
  
  <pre><code>list2 = ['hello how are you?', 'i am fine thanks.', 'great!']
  </code></pre>
  
  <p>Is there an simple pythonic way to do this? I have considered doing an itertools.groupby join but the problem is that all of the elements of my group don't have the same criteria (I can't just query if they all have punctuation). Basically, whether or not element x gets included is a function of potentially element x+n where n can be large. This complicates the problem. </p>