将字符串转换为int:Python

时间:2016-05-26 17:19:45

标签: python

我有一个具有dtype作为对象的Series Dataobject。 它包含str格式的int以及许多字符串。我想只将int转换为int类型和del rest。

示例:

'1','3','sd34','4','r5'

结果:

[1, 3, 4]

2 个答案:

答案 0 :(得分:5)

这是一个简单的单行。

output = [int(s) for s in data_list if s.isdecimal()]

如果数据集很大,您也可以使用生成器表达式。对于数据的单次迭代,这将具有更高的内存效率。

output_gen = (int(s) for s in data_list if s.isdecimal())

最后一个选项,如果你希望效率极高,那就是使用完整的C级迭代器:

output_gen = map(int, map(str.isdecimal, data_list))

答案 1 :(得分:-1)

data = ['1','3','sd34','4','r5']
result = []

for d in data:
    try:
        result.append(int(d))
    except:
        pass