我在Python中经常使用lambda函数。突然,我弄不明白为什么会有语法错误消息:
table['sp1 name'] = table['sp1'].apply(lambda x: sp1_new_dict[x] if x in sp1_new_dict.keys())
任何想法?谢谢!
你需要一个else
。解析你的错误:
x = 1 if True
File "<stdin>", line 1
x = 1 if True
^
SyntaxError: invalid syntax
# No error here
x = 1 if True else 2
既然你正在使用字典,也许可以使用dict.get
:
table['sp1 name'] = table['sp1'].apply(lambda x: sp1_new_dict.get(x))
如果键不存在,返回None