Skip to content
Related Articles

Related Articles

Python – Filter Strings within ASCII range
  • Last Updated : 12 Nov, 2020
GeeksforGeeks - Summer Carnival Banner

Given ASCII or alphabetical range, filter strings found in particular range.

Input : test_list = [“gfg”, “is”, “best”, “for”, “geeks”], strt_asc, end_asc = 105, 115 
Output : [‘is’] 
Explanation : i has 105, and s has 115, which is in range ASCII values.
Input : test_list = [“gfg”, “is”, “best”, “for”, “geeks”], strt_asc, end_asc = 100, 115 
Output : [‘gfg’, ‘is’, ‘for’, ‘geeks’] 
Explanation : Strings with range characters included. 
 

Method #1 : Using list comprehension + all() + ord()

In this, we check for all characters to be in given ASCII range, computed using ord(), and accordingly, strings are filtered.

Python3




# Python3 code to demonstrate working of
# Filter Strings within ASCII range
# Using list comprehension + ord() + all()
  
# initializing list
test_list = ["gfg", "is", "best", "for", "geeks"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing ASCII range
strt_asc, end_asc = 105, 115
  
# checking for all characters to be in ASCII range
res = [sub for sub in test_list if all(
    ord(ele) >= strt_asc and ord(ele) <= end_asc for ele in sub)]
  
# printing result
print("Filtered Strings : " + str(res))
Output



The original list is : ['gfg', 'is', 'best', 'for', 'geeks']
Filtered Strings : ['is']

Method #2 : Using filter() + lambda + all() + ord()

In this, we perform task of filtering using filter() and lambda function, ord() and all() is used in similar way as above method.

Python3




# Python3 code to demonstrate working of
# Filter Strings within ASCII range
# Using filter() + lambda + all() + ord()
  
# initializing list
test_list = ["gfg", "is", "best", "for", "geeks"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing ASCII range
strt_asc, end_asc = 105, 115
  
# checking for all characters to be in ASCII range
res = list(filter(lambda sub: all(ord(ele) >= strt_asc and ord(
    ele) <= end_asc for ele in sub), test_list))
  
# printing result
print("Filtered Strings : " + str(res))
Output
The original list is : ['gfg', 'is', 'best', 'for', 'geeks']
Filtered Strings : ['is']

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.

My Personal Notes arrow_drop_up
Recommended Articles
Page :