Python 判断多个字符是否存在于字符串(容易踩到的坑)
1、起因
今天用 Python 处理一些 URL,需要留下文件类型的 URL,然后就理所当然的写成以下的句式,发现实现不了我想要的效果
a = [ "../../../../images/yc-logo.png", "../../../../images/yc-logo.png", "../../../../images/iconfont.css", "../../../../images/main.css", "../../../../images/base.css", "/assets/js/main.aa150fc5.js", "/assets/js/url.6a11f7be.js", "/assets/js/debounce.c3f1e98b.js", "/assets/js/jsx-runtime.40bbe6eb.js", "/assets/js/_commonjsHelpers.b5cbd927.js", "/assets/js/download.2306183f.js", "http://bdimg.share.baidu.com/static/api/css/share_style0_16.css?v=8105b07e.css", "javascript:doZoom(16)", "javascript:doZoom(14)", "javascript:doZoom(12)", "javascript:print()", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220120/6377829071580078127600762.pdf", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220722/63794080993792101573245891.pdf", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220722/63794080994292101554106751.pdf", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220722/6379408099440147655911442.pdf" ] for i in range(len(a)): if '.pdf' or '.txt' or '.docx' or '.doc' in a[i]: print(a[i]) else: pass
???黑人问号,为啥输出不了文件类型的链接呢,经过不懈努力终于被我发现问题所在。
2、解决办法
修正为
a = [ "../../../../images/yc-logo.png", "../../../../images/yc-logo.png", "../../../../images/iconfont.css", "../../../../images/main.css", "../../../../images/base.css", "/assets/js/main.aa150fc5.js", "/assets/js/url.6a11f7be.js", "/assets/js/debounce.c3f1e98b.js", "/assets/js/jsx-runtime.40bbe6eb.js", "/assets/js/_commonjsHelpers.b5cbd927.js", "/assets/js/download.2306183f.js", "http://bdimg.share.baidu.com/static/api/css/share_style0_16.css?v=8105b07e.css", "javascript:doZoom(16)", "javascript:doZoom(14)", "javascript:doZoom(12)", "javascript:print()", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220120/6377829071580078127600762.pdf", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220722/63794080993792101573245891.pdf", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220722/63794080994292101554106751.pdf", "https://www.lnypcg.com.cn/ueditor/net/upload/file/20220722/6379408099440147655911442.pdf" ] for i in range(len(a)): # 修改下面这一句 if '.pdf' in a[i] or '.txt' in a[i] or '.docx' in a[i] or '.doc' in a[i]: print(a[i]) else: pass
就可以输出我想要的结果啦
其实原因很简单,我们的结果是一个字符串,而不是bool值
本文作者:Dancing-Pierre
本文链接:https://www.cnblogs.com/wyc-1009/p/17548008.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步