Python 中优雅的字符串与列表中的元素匹配
在 Python 中,可以实现检查字符串是否包含列表中的元素使用 for 循环:
<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls'] for extension in extensionsToCheck: if extension in url_string: print(url_string)</code>
但是,有一种更简洁的方法可以在不使用 for 循环的情况下执行此任务。考虑以下模仿“C/C”样式检查的方法,但使用正确的 Python 语法:
<code class="python">if any(ext in url_string for ext in extensionsToCheck): print(url_string)</code>
此解决方案利用生成器表达式创建一系列 True/False 值,其中每个值检查是否在 URL 字符串中找到列表中的当前扩展名。然后,any() 函数评估该序列以确定是否存在至少一个 True 值,表明 URL 字符串包含列表中的元素。
与之前的解决方案不同,此方法有效地提前终止搜索一次找到匹配项。通过使用生成器表达式和 any() 函数,我们的代码既简洁又高效。
注意: 重要的是要理解此解决方案没有指定在 URL 中找到匹配的字符串。如果匹配的位置很重要,请考虑@Wladimir Palant提供的解决方案,它考虑了特定的字符串位置。
以上是如何在Python中有效地检查字符串是否包含列表中的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!