Python变量赋值如果变量存在,则在一行中没有其他

时间:2014-06-19 18:03:14

标签: python

这可以在一行中完成吗?看起来像data['x'] = (x if x else "")的东西(除了不会引发异常)

否则我经常会做以下事情:

try: data['x'] = x
except: data['x'] = ""

或用空值初始化的多个键:即

data['x'], data['y'] = [], []

1 个答案:

答案 0 :(得分:2)

正如其他人在评论中指出的那样,使用可能未设置的变量是不好的形式,但如果你坚持,Luis Masuelli的评论应该做到这一点:

data['x'] = locals().get('x','')  # or globals, depending on the scope you need