如何使用python获取列表中没有双引号的数字值

时间:2018-08-28 09:40:48

标签: python-3.x

我有如下所示的列表。

l = ['22','abc','znijh09nmm','928.2','-98','2018-01-02']

我想让那些人使用Python插入MySQL,但我希望它获得以下输出:

l = [22,'abc','znijh09nmm',928.2,-98,2018-01-02]

1 个答案:

答案 0 :(得分:0)

您可以使用类似的方法来转换整数并在列表中浮点数。

mylist = ['22','abc','znijh09nmm','928.2','-98','2018-01-02']

def convert(value):
    if str(value).isdigit():
        return int(value)
    else:
        try:
            float(value)
            return float(value) 
        except ValueError:
            return value

mylist = [convert(i) for i in mylist]
print(mylist)

[22, 'abc', 'znijh09nmm', 928.2, -98.0, '2018-01-02']