Home >Backend Development >Python Tutorial >How Can I Efficiently Check if a String Contains an Element from a List in Python?
Elegant String Matching with Element from a List in Python
In Python, checking if a string contains an element from a list can be achieved using a for loop:
<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls'] for extension in extensionsToCheck: if extension in url_string: print(url_string)</code>
However, there's a more concise way to perform this task without a for loop. Consider the following approach that mimics a "C/C " style check, but with the correct Python syntax:
<code class="python">if any(ext in url_string for ext in extensionsToCheck): print(url_string)</code>
This solution utilizes a generator expression to create a sequence of True/False values, where each value checks if the current extension from the list is found in the URL string. The any() function then evaluates this sequence to determine if at least one True value exists, indicating that the URL string contains an element from the list.
Unlike the previous solution, this approach effectively terminates the search early once a match is found. By employing the generator expression and any() function, we achieve both conciseness and efficiency in our code.
Note: It's crucial to understand that this solution does not specify the exact location where the matching string is found within the URL. If the position of the match is important, consider the solution provided by @Wladimir Palant, which accounts for specific string positions.
The above is the detailed content of How Can I Efficiently Check if a String Contains an Element from a List in Python?. For more information, please follow other related articles on the PHP Chinese website!