擅长:python、mysql、java
<p>在可能的情况下,您可以创建一个转换为int的函数:</p>
<pre><code>def int_or_str(s):
"try to convert to int, but return string if it fails"
try:
return int(s)
except ValueError:
return s
new_datalist = [int_or_str(s) for s in datalist]
</code></pre>
<p>或者,如果您喜欢一行,您必须这样做,以考虑负数的可能性:</p>
<pre><code>new_datalist = [int(s)
if s.isnumeric() or (s and s[0] == '-' and s[1:].isnumeric())
else s
for s in datalist]
</code></pre>
<p>也可以使用正则表达式:</p>
<pre><code>import re
new_datalist = [int(s) if re.match('-?\d+$', s) else s for s in datalist]
</code></pre>