给定一个python字符串列表,如何自动将它们转换为正确的类型?意思是,如果我有:
["hello", "3", "3.64", "-1"]
Run Code Online (Sandbox Code Playgroud)
我希望将其转换为列表
["hello", 3, 3.64, -1]
Run Code Online (Sandbox Code Playgroud)
第一个元素是stirng,第二个是int,第三个是float,第四个是int.
我怎样才能做到这一点?谢谢.
Ign*_*ams 23
import ast
L = ["hello", "3", "3.64", "-1"]
def tryeval(val):
try:
val = ast.literal_eval(val)
except ValueError:
pass
return val
print [tryeval(x) for x in L]
Run Code Online (Sandbox Code Playgroud)
不使用评估:
def convert(val):
constructors = [int, float, str]
for c in constructors:
try:
return c(val)
except ValueError:
pass
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4207 次 |
| 最近记录: |