Python: extrae dígitos de la lista Tuple

A veces, mientras trabajamos con listas de Python, podemos tener un problema en el que necesitamos realizar la extracción de todos los dígitos de la lista de tuplas. Este tipo de problema puede encontrar su aplicación en dominios de datos y programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_list = [(15, 3), (3, 9)] 
Salida : [9, 5, 3, 1]

Entrada : test_list = [(15, 3)] 
Salida : [5, 3, 1] 
 

Método #1: Usar map() + chain.from_iterable() + set() + loop 
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, realizamos la tarea de aplanar la lista usando chain.from_iterable(), y luego los dígitos se extraen usando el método bruto. set() se usa para eliminar dígitos duplicados.

Python3

# Python3 code to demonstrate working of
# Extract digits from Tuple list
# Using map() + chain.from_iterable() + set() + loop
from itertools import chain
 
# initializing list
test_list = [(15, 3), (3, 9), (1, 10), (99, 2)]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Extract digits from Tuple list
# Using map() + chain.from_iterable() + set() + loop
temp = map(lambda ele: str(ele), chain.from_iterable(test_list))
res = set()
for sub in temp:
    for ele in sub:
        res.add(ele)
 
# printing result
print("The extracted digits : " + str(res))
Producción

The original list is : [(15, 3), (3, 9), (1, 10), (99, 2)]
The extracted digits : {'1', '0', '3', '2', '9', '5'}

Método n.º 2: uso de expresiones regulares 
Esta es otra forma en la que se puede realizar esta tarea. En esto, se usa una expresión regular apropiada para extraer los dígitos únicos requeridos.

Python3

# Python3 code to demonstrate working of
# Extract digits from Tuple list
# Using regex expression
import re
 
# initializing list
test_list = [(15, 3), (3, 9), (1, 10), (99, 2)]
 
# printing original list
print("The original list is : " + str(test_list))
 
# Extract digits from Tuple list
# Using regex expression
temp = re.sub(r'[\[\]\(\), ]', '', str(test_list))
res = [int(ele) for ele in set(temp)]
 
# printing result
print("The extracted digits : " + str(res))
Producción

The original list is : [(15, 3), (3, 9), (1, 10), (99, 2)]
The extracted digits : [5, 9, 2, 0, 1, 3]

Método #3: Usando los métodos list(),str(),map(),set() .

Inicialmente, convirtió todos los elementos de tupla en strings y los concatenó. Más tarde, usó el método set() para eliminar los duplicados, convirtió los elementos de string en elementos enteros y finalmente los convirtió en tipos de datos de lista.

Python3

# Python3 code to demonstrate working of
# Extract digits from Tuple list
 
# initializing list
test_list = [(15, 3), (3, 9), (1, 10), (99, 2)]
 
# printing original list
print("The original list is : " + str(test_list))
x=""
# Extract digits from Tuple list
for i in test_list:
    for j in i:
        x+=str(j)
res=list(map(int,set(x)))
# printing result
print("The extracted digits : " + str(res))
Producción

The original list is : [(15, 3), (3, 9), (1, 10), (99, 2)]
The extracted digits : [2, 3, 0, 1, 9, 5]

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 *