【问题标题】:How to convert list of elements to their default types如何将元素列表转换为其默认类型
【发布时间】:2013-09-06 11:15:38
【问题描述】:

例如,我有列表:

old =  ['Savannah', '234Today', '4.5678', '23456','0.2342429']

如何将其转换为具有默认类型的元素的列表

到:

new =  ['Savannah', '234Today', 4.5678, 23456,0.2342429]

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

感谢任何帮助!谢谢

【问题讨论】:

    标签: python list


    【解决方案1】:

    你可以使用ast.literal_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_eval 搞混,但无法弄清楚:p。 +1
    猜你喜欢
    • 2021-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-06
    • 2023-03-05
    • 2011-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多