Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将元素列表转换为其默认类型_Python_List - Fatal编程技术网

Python 如何将元素列表转换为其默认类型

Python 如何将元素列表转换为其默认类型,python,list,Python,List,例如,我有以下清单: old = ['Savannah', '234Today', '4.5678', '23456','0.2342429'] 如何将其转换为包含默认类型元素的列表 致: 新列表将包含默认类型为float、int、long的元素 感谢您的帮助!谢谢您可以使用ast.literal\u eval和一些异常处理: >>> from ast import literal_eval >>> lis = ['Savannah', '234Today

例如,我有以下清单:

old =  ['Savannah', '234Today', '4.5678', '23456','0.2342429']
如何将其转换为包含默认类型元素的列表

致:

新列表将包含默认类型为float、int、long的元素


感谢您的帮助!谢谢

您可以使用
ast.literal\u eval
和一些异常处理:

>>> from ast import literal_eval
>>> lis = ['Savannah', '234Today', '4.5678', '23456','0.2342429']
def solve(x):
    try:
        return literal_eval(x)
    except (ValueError, SyntaxError):
        return x
...     
>>> map(solve, lis)
['Savannah', '234Today', 4.5678, 23456, 0.2342429]

Arg,正在乱搞
literal\u eval
,但无法理解:p+1.
>>> from ast import literal_eval
>>> lis = ['Savannah', '234Today', '4.5678', '23456','0.2342429']
def solve(x):
    try:
        return literal_eval(x)
    except (ValueError, SyntaxError):
        return x
...     
>>> map(solve, lis)
['Savannah', '234Today', 4.5678, 23456, 0.2342429]