You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中if条件为假时变量赋值报错问题排查

问题分析与解决

你的代码语法错误出在三元表达式的写法不符合Python规则。

Python三元运算符的正确结构是:

变量 = 真值表达式 if 条件 else 假值表达式

你错误地在else分支重复写了index_search_str = -1这个完整赋值语句,导致Python解析时无法识别正确的表达式结构,从而抛出语法错误。

正确写法

写法一:修正三元表达式

直接把else分支的结果写成-1,不需要重复变量赋值:

test = "abc"
search_str = "z"
index_search_str = test.index(search_str) if search_str in test else -1

写法二:更简洁的str.find()方法

Python字符串的find()方法本身就支持“找到返回索引,找不到返回-1”的逻辑,完全可以替代你的写法,代码更简洁:

test = "abc"
search_str = "z"
index_search_str = test.find(search_str)

内容的提问来源于stack exchange,提问作者OutThere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:42:08