如何简化字典值与多个字符串的不等于重复判断逻辑?
解决方法
首先得明确:你理想里写的dict["travel"] != ("Bee" or "Fly" or "Bird")是行不通的——Python中or运算符会返回第一个为真的元素,这里也就是"Bee",相当于只判断了dict["travel"] != "Bee",和你原本的多值排除逻辑不符。
正确的做法是用not in结合集合或列表,既能避免重复写判断条件,代码也更简洁清晰:
推荐用集合(查找效率更高)
if dict["travel"] not in {"Bee", "Fly", "Bird"}: print("Didn't receive flying animal of choice") return
也可以用列表
if dict["travel"] not in ["Bee", "Fly", "Bird"]: print("Didn't receive flying animal of choice") return
这两种写法的逻辑和你原本的dict["travel"] != "Bee" and dict["travel"] != "Fly" and dict["travel"] != "Bird"完全一致,但不用重复写键名和不等号,可读性更高。
内容的提问来源于stack exchange,提问作者brett s
相关产品推荐
相关产品推荐

