python - 将具有混合固有类型的字符串列表转换为固有类型

标签 python list types

所以我有一个字符串列表,每个字符串都有固有类型。

mixedbag = ['True', '2.7', '3', 'Ninety']

我想把它改成这样:

[True, 2.7, 3, 'Ninety']

我想到的是创建一个大型 try/except 链来评估列表中的每个项目,但这感觉不像是处理此问题的 pythonic 方式。

最佳答案

你可以使用 ast.literal_eval在 try-except block 中。

from ast import literal_eval
def unmix(ele):
    try:
        ele = literal_eval(ele)
    except ValueError:
        pass
    return ele

演示

>>> list(map(unmix, mixedbag))
[True, 2.7, 3, 'Ninety']

关于python - 将具有混合固有类型的字符串列表转换为固有类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42011701/

相关文章:

python - 适用于 Blob 的 Azure Python SDK - 导入错误 : cannot import name 'BlobClient'

python - OpenCV python3无法正确旋转图像

python - 在 Python 中处理多个大文件

python - 缩进内嵌注释是一个好习惯吗?

python - 如何将 numpy 数组与列表相乘以获得多维数组?

Scala 中缀类型之谜

python - Kotlin 中的类型转换不一致

Python:防止 "if"楼梯?

python - 如何从文件中读取并将其作为整数放入列表中? Python

types - GoLang 类型开关中变量 "t"的实际类型是什么?