Python: lista de elementos con un dígito dado

Dada la lista de elementos y un dígito K, extraiga todos los números que contienen el dígito K.

Entrada : test_list = [56, 72, 875, 9, 173], K = 5 
Salida : [56, 875] 
Explicación : 56 y 875 tiene «5» como dígito, por lo tanto extraído.

Entrada : test_list = [56, 72, 875, 9, 173], K = 4 
Salida : [] 
Explicación : ningún número tiene 4 como dígito. 
 

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

Esta es una de las formas en que se puede realizar esta tarea. En esto, convertimos el dígito y el elemento en una string y luego verificamos si está dentro de ese elemento. La iteración del elemento se realiza dentro de la comprensión de la lista para obtener una solución de una sola línea.

Python3

# Python3 code to demonstrate working of
# Elements with K digit
# Using list comprehension + str()
 
# initializing list
test_list = [56, 72, 875, 9, 173]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 7
 
# extracting all elements with digit K using
# in operator after string conversion using str()
res = [ele for ele in test_list if str(K) in str(ele)]
 
# printing result
print("Elements with digit K : " + str(res))
Producción

The original list is : [56, 72, 875, 9, 173]
Elements with digit K : [72, 875, 173]

Método #2: Usando filter() + lambda + str()

Esta es otra manera de resolver este problema. En esto, usamos filter() + lambda junto con str() para verificar condicionales y extraer los elementos requeridos.

Python3

# Python3 code to demonstrate working of
# Elements with K digit
# Using filter() + lambda + str()
 
# initializing list
test_list = [56, 72, 875, 9, 173]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing K
K = 7
 
# using filter() and lambda to perform conditionals
# using str() to perform data type conversions
res = list(filter(lambda ele: str(K) in str(ele), test_list))
 
# printing result
print("Elements with digit K : " + str(res))
Producción

The original list is : [56, 72, 875, 9, 173]
Elements with digit K : [72, 875, 173]

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 *