Suj*_*jit 5 python performance casting
我有一个值列表 - 所有字符串.我想将这些值转换为各自的数据类型.我将值映射到可用的类型信息.
有三种不同的数据类型:int,str,datetime.代码需要能够处理数据的错误情况.
我正在做的事情: -
tlist = [ 'some datetime value', '12', 'string', .... ]
#convert it to: [ datetime object, 12, 'string', ....]
error_data = ['', ' ', '?', ...]
d = { 0: lambda x: datetime.strptime(x,...) if x not in error_data else x,
1: lambda x: int(x) if x not in error_data else 0,
2: lambda x: x
...
}
result = [ d[i](j) for i, j in enumerate(tlist) ]
Run Code Online (Sandbox Code Playgroud)
要转换的列表很长,就像180个值,我需要为数千个这样的列表执行此操作.上面代码的性能非常差.最快的方法是什么?
谢谢
谢谢你们所有这些方法。是的,我几乎尝试了所有提到的方法,但没有一个效果很好。
我尝试了以下方法,它非常适合我的性能需求。这就是我所做的。
我已经为所有 int 错误值插入了值 0,代码如下 -
[i] = value if value != '' else 0
我没有使用字典逐个强制值,而是使用列表一次性强制所有值。
def coerce(l):
return [ l[0], int(l[1]), int(l[2]) ... ]
我的观察:
| 归档时间: |
|
| 查看次数: |
1219 次 |
| 最近记录: |