将列表中的某些元素更改为int

时间:2016-10-11 16:31:23

标签: python python-3.x

我有一个清单:

aList = ['asdf123', '100', '45', '34hello']

如何更改它以便' 100'和' 45'变成int而不是str?

aList = ['asdf123', 100, 45, '34hello']

3 个答案:

答案 0 :(得分:2)

您可以使用辅助功能

def to_int(s):
    try:
        return int(s)
    except:
        return s

aList = [to_int(n) for n in aList]

答案 1 :(得分:0)

定义一个转换整数或返回原始值的方法;

def tryInt(value):
    try:
        return int(value)
    except:
        return value

然后使用maplambda;

map( lambda x: tryInt(x), aList )

答案 2 :(得分:0)

以下内容应该在那里。

def convert(x):
    try:
        return int(x)
    except ValueError:
        return x

aList = map(convert, aList)