Python条件赋值语法错误:如何根据deleteDup执行drop_duplicates?
解决Python三元表达式语法错误问题
你的代码语法错误源于三元表达式的写法不符合Python规则,正确的三元表达式结构是 变量 = 真值结果 if 条件 else 假值结果,不能在else分支里重复写赋值语句(df = df)。
修正后的写法
写法一:简化三元表达式
直接保留原DataFrame作为else分支的结果,无需重复赋值:
df = df.drop_duplicates() if deleteDup else df
写法二:用常规if-else语句(可读性更强)
如果追求代码清晰,也可以不用三元表达式,直接写分支判断:
if deleteDup: df = df.drop_duplicates() # else分支无需编写,df自动保留原数据
错误原因说明
原代码中else df = df是无效语法,Python会将整个df.drop_duplicates() if deleteDup else df = df视为赋值操作的右侧内容,这违背了语法规范,因此触发SyntaxError。
内容的提问来源于stack exchange,提问作者David L
相关产品推荐
相关产品推荐

