所以我有一个字符串列表,每个字符串都有固有的类型.
mixedbag = ['True', '2.7', '3', 'Ninety']
Run Code Online (Sandbox Code Playgroud)
我想将其转换为如下所示:
[True, 2.7, 3, 'Ninety']
Run Code Online (Sandbox Code Playgroud)
我想到的是创建一个大的try/except链来评估列表中的每个项目,但这并不像处理这个问题的pythonic方式.
您可以ast.literal_eval在try-except块中使用.
from ast import literal_eval
def unmix(ele):
try:
ele = literal_eval(ele)
except ValueError:
pass
return ele
Run Code Online (Sandbox Code Playgroud)
演示
>>> list(map(unmix, mixedbag))
[True, 2.7, 3, 'Ninety']
Run Code Online (Sandbox Code Playgroud)