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
相关产品推荐
相关产品推荐

