简体   繁体   English

将字符串转换为int:Python

[英]converting string to int: Python

I have a Series Dataobject which have dtype as object. 我有一个以dtype为对象的Series Dataobject。 It contains int in str format as well as many strings. 它包含str格式的int以及许多字符串。 I want to convert only int to int type and del rest. 我只想将int转换为int类型和del rest。

Example: 例:

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

Result: 结果:

[1, 3, 4]

Here's a simple one-liner. 这是一个简单的单线。

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

You may also use a generator expression in case the dataset is large. 如果数据集很大,也可以使用生成器表达式。 This will be much more memory efficient for a single iteration over the data. 对于数据的单次迭代,这将大大提高内存效率。

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

Last option, if you wish to be extremely efficient, is to use full C-level iterators: 如果您希望非常高效,那么最后一个选择是使用完整的C级迭代器:

output_gen = map(int, map(str.isdecimal, data_list))
data = ['1','3','sd34','4','r5']
result = []

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM