Python – Extrae elementos Monodigit

Dada la Lista de números, extraiga todos los números con solo un dígito similar.

Entrada : test_list = [463, 888, 123, ‘aaa’, 112, 111, ‘gfg’, 939, 4, ‘ccc’] Salida: [888, ‘aaa’, 111, 4, ‘ccc 

Explicación : Todos los elementos que tienen un solo dígito o carácter único.

Entrada : test_list = [463, «GFG», 8838, 43, 991] 
Salida : [] 
Explicación : No se encontró ningún elemento que tenga un solo dígito. 

Método #1: Usar lista de comprensión + all()

En esto, iteramos todos los elementos usando la comprensión de listas, all() se usa para verificar la igualdad de todos los dígitos con el primer dígito.

Python3

# Python3 code to demonstrate working of
# Extract Monodigit elements
# Using list comprehension + all()
 
# initializing list
test_list = [463, 888, 123, "aaa", 112, 111, "gfg", 939, 4, "ccc"]
 
# printing original lists
print("The original list is : " + str(test_list))
 
# all() checks for all similar digits
res = [sub for sub in test_list if all(
    str(ele) == str(sub)[0] for ele in str(sub))]
 
# printing result
print("Extracted Numbers : " + str(res))

Producción:

La lista original es: [463, 888, 123, ‘aaa’, 112, 111, ‘gfg’, 939, 4, ‘ccc’] Números extraídos: [888, ‘aaa’, 111, 4, ‘ccc’]

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

En esto, realizamos la tarea de filtrar usando la función lambda , filter() , y all() se usa nuevamente para verificar la igualdad de todos los dígitos.

Python3

# Python3 code to demonstrate working of
# Extract Monodigit elements
# Using filter() + lambda + all()
 
# initializing list
test_list = [463, 888, 123, "aaa", 112, 111, "gfg", 939, 4, "ccc"]
 
# printing original lists
print("The original list is : " + str(test_list))
 
# all() checks for all similar digits
# filter() used for filtering
res = list(filter(lambda sub: all(str(ele) == str(
    sub)[0] for ele in str(sub)), test_list))
 
# printing result
print("Extracted Numbers : " + str(res))

Producción:

La lista original es: [463, 888, 123, ‘aaa’, 112, 111, ‘gfg’, 939, 4, ‘ccc’] Números extraídos: [888, ‘aaa’, 111, 4, ‘ccc’]

Método n.° 3: Usar lista(), mapa(), contar(), len()

Inicialmente, convierta cada elemento de la lista en string. Ahora itere sobre la lista e itere sobre cada string en la lista, verifique si la ocurrencia del primer elemento es igual a la longitud de la lista. Si es Verdadero, entonces los elementos de la lista tienen mono dígitos.

Python3

# Python3 code to demonstrate working of
# Extract Monodigit elements
 
# initializing list
test_list = [463, 888, 123, "aaa", 112, 111, "gfg", 939, 4, "ccc"]
 
# printing original lists
print("The original list is : " + str(test_list))
x=list(map(str,test_list))
res=[]
for i in range(0,len(x)):
    if(x[i].count(x[i][0])==len(x[i])):
        res.append(test_list[i])
 
# printing result
print("Extracted Numbers : " + str(res))
Producción

The original list is : [463, 888, 123, 'aaa', 112, 111, 'gfg', 939, 4, 'ccc']
Extracted Numbers : [888, 'aaa', 111, 4, 'ccc']

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 *