Thursday, October 16, 2025
HomeLanguagesPython – Extract Strings with a digit

Python – Extract Strings with a digit

Given a Strings List, extract those with atleast one digit.

Input : test_list = [‘gf4g’, ‘is’, ‘best’, ‘gee1ks’] 
Output : [‘gf4g’, ‘gee1ks’] 
Explanation : 4, 1 are respective digits in string.

Input : test_list = [‘gf4g’, ‘is’, ‘best’, ‘neveropen’] 
Output : [‘gf4g’] 
Explanation : 4 is digit in string. 

Method #1 : Using list comprehension + any() + isdigit()

In this iteration for each string is done using list comprehension, any() and isdigit() is used for task of checking at least one digit.

step by step approach:

  1. Initialize the input list test_list with some string values.
  2. Print the original list.
  3. Create a list comprehension using sub as the loop variable to iterate over each element sub in test_list.
  4. For each element sub in test_list, use the any() function to check if any character in the string is a digit using the isdigit() method.
  5. If the above condition is true, append the element sub to the result list res.
  6. Print the list of strings with digits.

Python3




# Python3 code to demonstrate working of
# Extract Strings with a digit
# Using list comprehension + any() + isdigit()
 
# initializing list
test_list = ['gf4g', 'is', 'best', '4', 'gee1ks']
 
# printing original list
print("The original list is : " + str(test_list))
 
# checking if string contain any string using any()
res = [sub for sub in test_list if any(ele for ele in sub if ele.isdigit())]
 
# printing result
print("Strings with any digit : " + str(res))


Output

The original list is : ['gf4g', 'is', 'best', '4', 'gee1ks']
Strings with any digit : ['gf4g', '4', 'gee1ks']

Time Complexity: O(n2)
Space Complexity: O(n)

Method #2 : Using any() + filter() + lambda

In this, we perform task of filtering using lambda and filter(), rest remains the same.

Python3




# Python3 code to demonstrate working of
# Extract Strings with a digit
# Using any() + filter() + lambda
 
# initializing list
test_list = ['gf4g', 'is', 'best', '4', 'gee1ks']
 
# printing original list
print("The original list is : " + str(test_list))
 
# checking if string contain any string using any()
# filter() used to filter strings with digits
res = list(filter(lambda sub: any(
    ele for ele in sub if ele.isdigit()), test_list))
 
# printing result
print("Strings with any digit : " + str(res))


Output

The original list is : ['gf4g', 'is', 'best', '4', 'gee1ks']
Strings with any digit : ['gf4g', '4', 'gee1ks']

Time Complexity: O(n2
Space Complexity: O(n)

Method #3 : Without any builtin methods

Python3




# Python3 code to demonstrate working of
# Extract Strings with a digit
 
 
def fun(s):
    digits = "0123456789"
    x = s
    for i in digits:
        s = s.replace(i, "")
    if(len(x) != len(s)):
        return True
    return False
 
 
# initializing list
test_list = ['gf4g', 'is', 'best', '4', 'gee1ks']
 
# printing original list
print("The original list is : " + str(test_list))
res = []
for i in test_list:
    if fun(i):
        res.append(i)
 
# printing result
print("Strings with any digit : " + str(res))


Output

The original list is : ['gf4g', 'is', 'best', '4', 'gee1ks']
Strings with any digit : ['gf4g', '4', 'gee1ks']

Time Complexity: O(n*n) where n is the number of elements in the list “test_list”. 
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the list “test_list”. 

Method #4 : Using ord() function

Python3




# Python3 code to demonstrate working of
# Extract Strings with a digit
 
 
# initializing list
test_list = ['gf4g', 'is', 'best', '4', 'gee1ks']
 
# printing original list
print("The original list is : " + str(test_list))
res = []
for i in test_list:
    for j in i:
        if(ord(j) >= ord('0') and ord(j) <= ord('9')):
            res.append(i)
            break
# printing result
print("Strings with any digit : " + str(res))


Output

The original list is : ['gf4g', 'is', 'best', '4', 'gee1ks']
Strings with any digit : ['gf4g', '4', 'gee1ks']

Time Complexity: O(N*M)

Auxiliary Space: O(1)

Method 5 : Using regular expressions
In this approach, we use the re.search() function from the re module which searches for a pattern in the given string. The pattern ‘\d’ represents a digit in the string. The function returns a match object if there is a match and None otherwise. Hence, for every string in the list, we check if there is a digit present by calling re.search(‘\d’, i) where i is the current string in the list. If there is a match, we add the string i to the resultant list. Finally, the resultant list is returned which has all the strings containing at least one digit.

Python3




import re
 
#initializing list
test_list = ['gf4g', 'is', 'best', '4', 'gee1ks']
 
#printing original list
print("The original list is : " + str(test_list))
 
#using re.search() to search for pattern '\d'
#which represents a digit in the string
res = [i for i in test_list if re.search('\d', i)]
 
#printing result
print("Strings with any digit : " + str(res))


Output

The original list is : ['gf4g', 'is', 'best', '4', 'gee1ks']
Strings with any digit : ['gf4g', '4', 'gee1ks']

Time Complexity: O(n)
Auxiliary Space: O(n)

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11953 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS