为了账号安全,请及时绑定邮箱和手机立即绑定

使用 IF 条件在 python 中搜索字符串时,哪个默认变量存储子字符串?

使用 IF 条件在 python 中搜索字符串时,哪个默认变量存储子字符串?

www说 2021-06-07 10:06:11
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:

    ...


查看完整回答
反对 回复 2021-06-09
?
森林海

TA贡献2011条经验 获得超2个赞

尝试对这种事情使用正则表达式。


>>> import re

>>> re.findall('[abc]', 'foobaz')

['b', 'a']

请注意,表达式"a" or "b" or "c" in x只是'a'.


查看完整回答
反对 回复 2021-06-09
  • 3 回答
  • 0 关注
  • 132 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号