Checking String Element Existence in a List in Python
這個問題尋求一種優雅的方法來確定字串是否包含指定的元素元素不使用for 循環的列表。以下程式碼舉例說明了這個問題:
<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls'] for extension in extensionsToCheck: if extension in url_string: print(url_string)</code>
使用者嘗試使用邏輯 OR 運算子(如 C/C 中),未能提供所需的結果。
優雅的解決方案使用生成器和Any
更複雜的解決方案利用生成器和Any 函數,只要在字串中找到列表中的任何元素,函數就會計算為True:
<code class="python">if any(ext in url_string for ext in extensionsToCheck): print(url_string)</code>
在此程式碼中,產生器運算式產生一系列布林值,指示extensionsToCheck 中的每個元素是否存在於url_string 中。如果這些布林值中的任何一個為 True,則 any 函數將傳回 True。
檢查結束位置時的注意事項
需要注意的是,此解決方案並未考慮url_string 中匹配字串的位置。例如,如果清單包含 .com 並且正在檢查的字串是 example.company.com,則即使 .com 出現在字串中間,解決方案也會傳回 True。
如果該字串的精確位置匹配字串是一個問題,因為它通常與 URL 一起使用,請考慮利用 @Wladimir Palant 提供的解決方案,其中涉及檢查 URL 上下文中的檔案副檔名。
以上是如何在Python中有效地檢查字串是否包含清單中的元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!