【发布时间】:2015-09-12 13:51:50
【问题描述】:
要检查一个字符串是否包含子字符串,可以像这样使用“in”:
if "abc" in str:
print("yay")
为了检查一个字符串是否包含两个子字符串之一,可以像这样使用“或”:
if "abc" in str or "def" in str:
print("yay")
我的问题是 python 是否有办法将其简化成这样的:
if "abc" or "def" in str:
print("yay")
我知道这不会按预期工作,因为它总是会评估为真。 (Python 将至少检查两个语句中的一个,
- “abc”
- str 中的“def”
为真且“abc”将始终评估为真)
话虽如此,除了这个相当冗长的方法之外,还有没有办法检查这种情况:
if "abc" in str or "def" in str:
print("yay")
【问题讨论】:
-
你知道regular expressions吗?
-
您考虑过使用正则表达式吗?这将允许您使用 | 搜索许多字符串将它们视为“或”的符号
-
“verbose”方法是完全合理和清晰的(但你应该避免为你的变量使用像
str这样的内置名称)。
标签: python string if-statement conditional-statements