title: Python: how to tell if number strings mixed European or US format, cast all of them to float?
body: <p>I want to convert all of the numbers in my list to float.</p>
  
  <p>Every number contains 2 or 3 decimal places.</p>
  
  <p>In some cases, I may have US number strings, such as:</p>
  
  <pre><code>"0.00", "0.000", "874.80", "10.000", "1,234.56"
  </code></pre>
  
  <p>In other cases, I may have European format, like the following:</p>
  
  <pre><code>"29.461,24", "20.919,000", "0,00", "0,000", "372,13", "11,000"
  </code></pre>
  
  <p>I want to identify which one is which and format it correctly to be cast to float. Such as the US numbers becoming.</p>
  
  <pre><code>"0.00", "0.000", "874.80", "10.000", "1234.56"
  </code></pre>
  
  <p>and the EU numbers becoming</p>
  
  <pre><code>"29461.24", "20919.000", "0.00", "0.000", "372.13", "11.000"
  </code></pre>
  
  <p>How can I do this in Python?</p>
  
  <p>I know that </p>
  
  <pre><code>sub(r'[\.|]', '', sub(r',', '.', i))
  </code></pre>
  
  <p>Converts from E to a ready to cast format, but it will break US numbers.</p>