if "a" or "b" or "c" in x: print (x) print ("a" or "b" or "c")在这里,我想打印出现在字符串中的子字符串 a 或 b 或 c 并希望对其进行一些操作。那么哪个变量存储子字符串呢?
3 回答

至尊宝的传说
TA贡献1789条经验 获得超10个赞
错误的条件
首先"a" or "b" or "c" in x不检查字符串中是否有任何这些字符。它检查每个表达式的真实性,立即停止在"a"哪个是真实的。
相反,你想要这个条件:
if 'a' in x or 'b' in x or 'c' in x:
也可以用any.
if any(c in x for c in ('a', 'b', 'c')):
寻找子串
至于你的问题,以上都不会跟踪x在表达式中找到哪个子字符串是True. 你需要自己做。
chars = ('a', 'b', 'c')
found_char = next((c for c in chars if c in x), False)
if found_char:
...

森林海
TA贡献2011条经验 获得超2个赞
尝试对这种事情使用正则表达式。
>>> import re
>>> re.findall('[abc]', 'foobaz')
['b', 'a']
请注意,表达式"a" or "b" or "c" in x只是'a'.
添加回答
举报
0/150
提交
取消