转换为三元表达式

时间:2014-12-11 21:50:08

标签: python

如何将以下内容转换为三元表达式?

requester_annotation = hit_data.get('RequesterAnnotation')
if requester_annotation == 'None':
    requester_annotation = None

到目前为止,我有:

requester_annotation = hit_data.get('RequesterAnnotation') \
                       if hit_data.get('RequesterAnnotation') != 'None' \
                       else None

但这比我开始的时间还要长!

1 个答案:

答案 0 :(得分:0)

你无能为力。在python中,三元表达式或条件表达式具有以下格式:

x if test else y

如果这是您计划进行的唯一检查,那么我会在您第一次写入时将其保留。另一方面,如果您打算进行多项条件检查,请考虑创建一个新的dict并删除'None's 。有点像:

dict((x,y) for x,y in hit_data.items() if y != 'None')

当然,这意味着hit_data不是那么大。