Examples :
Input: string = [’city1’,’ class5’, ’room2’,’ city2’] substr = [ ’class’,’ city’] Output: [’city1’,’ class5’, ’city2’] Input: string = [’ coordinates’, ’xyCoord’, ’123abc’] substr = [’ abc’, ’xy’] Output: [’ xyCoord’, ’123abc’]
Method # 1: Using list comprehension
We can use a list comprehension in conjunction with the in, operator to check if a string is contained in & # 39; substr & # 39; in & # 39; string & # 39; or not.
# Python3 list filtering program # lines based on another list import re def Filter (string, substr): return [ str for str in string if any (sub in str for sub in substr)] # Driver code string = [ ’city1’ , ’class5’ , ’room2’ , ’ city2’ ] substr = [ ’ class’ , ’city’ ] print ( Filter (string, substr)) |
Output:
[’city1’,’ class5’, ’city2’]
Method # 2: Python Regex
# Python3 list filtering program # lines based on another list import re def Filter (string, substr): return [ str for str in string if re.match (r ’ [^ d] + | ^ ’ , str ) .group ( 0 ) in substr] # Driver code string = [ ’city1’ , ’ class5’ , ’room2’ , ’ city2’ ] substr = [ ’class’ , ’ city’ ] print ( Filter (string, substr)) |
Exit:
[’city1’,’ class5’, ’city2’]
Python | Filter a list of strings based on a list of substrings filter: Questions
Python | Filter a list of strings based on a list of substrings Python functions: Questions