Skip to main content
 首页 » 编程设计

Python 将函数列表应用于包含 None 值的项目列表

2025年05月04日9dudu

如果我有一个要转换类型的数据项列表

例如:

row = (u'2013-13-04 00:00:00', 
     u'P1', 
     u'BRT64510', 
     u'CHUCKLES MOTOR COMPANY', 
     u'123', 
     None, 
     u'2345', 
     u'100000', 
     u'150000000', 
     None, 
     u'100000', 
     None, 
     u'123345', 
     u'1234567', 
     u'122445', 
     None) 

以及转换公式列表,例如:

import datetime 
dt = datetime.datetime 
st = lambda x: dt.strptime(x,'%Y-%m-%d %H:%M:%S') 
f = lambda x: float(x) 
s = lambda x: str(x) 
 
conversion = [st, s, s, s, f, f, f, f, f, f, f, f, f, f, f, f] 

我正在尝试应用以下内容:

result =[func(value) for func,value in zip(conversion,row)] 

当然,我遇到了 NULL : None 值的错误。

是否有一个快速修复程序可以让我将函数列表应用于项目列表,同时将空值保留为空值?此清理将应用于大量记录,因此我不知道哪些值会提前为空。

谢谢

请您参考如下方法:

result = [func(value) if value is not None else None 
          for func, value in zip(conversion, row)]