Python: extrae strings con un dígito

Dada una lista de strings, extraiga aquellas con al menos un dígito.

Entrada : test_list = [‘gf4g’, ‘is’, ‘best’, ‘gee1ks’] 
Salida : [‘gf4g’, ‘gee1ks’] 
Explicación : 4, 1 son los dígitos respectivos en la string.

Entrada : test_list = [‘gf4g’, ‘is’, ‘best’, ‘geeks’] 
Salida : [‘gf4g’] 
Explicación : 4 es un dígito en la string. 

Método n.º 1: usar la comprensión de listas + any() + isdigit()

En esta iteración, cada string se realiza mediante la comprensión de listas, any() e isdigit() se utilizan para la tarea de verificar al menos un dígito.

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))

Producción:

La lista original es: [‘gf4g’, ‘is’, ‘best’, ‘4’, ‘gee1ks’] 
Strings con cualquier dígito: [‘gf4g’, ‘4’, ‘gee1ks’]

Método #2: Usar any() + filter() + lambda

En esto, realizamos la tarea de filtrar usando lambda y filter(), el resto permanece igual.

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))

Producción:

La lista original es: [‘gf4g’, ‘is’, ‘best’, ‘4’, ‘gee1ks’] 
Strings con cualquier dígito: [‘gf4g’, ‘4’, ‘gee1ks’]

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *