擅长:python、mysql、java
<p>我觉得@PadraicCunningham的解决方案似乎是最有弹性的,它可以很容易地扩展如下,以满足另一种情况:</p>
<pre><code>from datetime import datetime
l = ['1','2','01/02/2015','3','4','1-05-2015','5','Another Ex/ample','6']
out = []
for ele in l:
try:
out.append(datetime.strptime(ele,"%m/%d/%Y").strftime("%Y-%m-%d"))
continue
except ValueError:
pass
try:
out.append(datetime.strptime(ele,"%m-%d-%Y").strftime("%Y-%m-%d"))
except ValueError:
out.append(ele)
print(out)
</code></pre>
<p>现在将打印:</p>
<pre><code>['1', '2', '2015-01-02', '3', '4', '2015-01-05', '5', 'Another Ex/ample', '6']
</code></pre>
<p>您还应该考虑以下测试用例。这些都不会导致任何改变。你知道吗</p>
<pre><code>l = ['40/05/2015', '13/01/2000', '04/31/2001']
</code></pre>