title: Python: append to list IF item is not a number
body: <p>I'm very close to having this particular function working but I've hit a wall. </p>
  
  <p>I have a list of floats which I would like to round to the nearest whole number ONLY if the element is greater than 0.50. And if there is an unexpected element (anything which is not a number), I would like to leave it the way it is. </p>
  
  <pre><code>mylist = ['58.20','34.99','0.39','0.89','34.55', '-']
  </code></pre>
  
  <p>expected outcome</p>
  
  <pre><code>mylist = ['58','35','0.39','1','35', '-']
  </code></pre>
  
  <p>here is my code so far: </p>
  
  <pre><code>[str(int(round(float(x)))) if float(x) &gt; 0.5 else str(x) for x in mylist]
  </code></pre>
  
  <p>I'm guessing I need to add an 'elif' statement but Im not sure how the expression would look like? </p>
  
  <p>Thanks all!</p>