Dada una lista de tuplas, la tarea es convertirla en una lista de todos los dígitos que existen en los elementos de la lista. Analicemos ciertas formas en que se realiza esta tarea. Método #1: Usar re La forma más concisa y legible de convertir una lista de tuplas en una lista de todos los dígitos que existen en los elementos de la lista es usando re .
Python3
# Python code to convert list of tuples into # list of all digits which exists # in elements of list. # Importing import re # Input list initialization lst = [(11, 100), (22, 200), (33, 300), (44, 400), (88, 800)] # Using re temp = re.sub(r'[\[\]\(\), ]', '', str(lst)) # Using set Output = [int(i) for i in set(temp)] # Printing output print("Initial List is :", lst) print("Output list is :", Output)
La lista inicial es: [(11, 100), (22, 200), (33, 300), (44, 400), (88, 800)] La lista de salida es: [1, 4, 8, 0, 3, 2]
Método #2: Usar itertools.chain() y lambda() Esta es otra forma más de realizar esta tarea en particular usando lambda().
Python3
# Python code to convert list of tuples into # list of all digits which exists # in elements of list. # Importing from itertools import chain # Input list initialization lst = [(11, 100), (22, 200), (33, 300), (44, 400), (88, 800)] # using lambda temp = map(lambda x: str(x), chain.from_iterable(lst)) # Output list initialization Output = set() # Adding element in Output for x in temp: for elem in x: Output.add(elem) # Printing output print("Initial List is :", lst) print("Output list is :", Output)
La lista inicial es: [(11, 100), (22, 200), (33, 300), (44, 400), (88, 800)] La lista de salida es: {‘8’, ‘4’, ‘0 ‘, ‘2’, ‘1’, ‘3’}
Método #3: Usando los métodos list(), map(), join() y set()
Inicialmente, convertimos la lista que contiene tuplas de enteros en una lista que contiene tuplas de strings. Más tarde, concatenaremos la string (obtenida al unir strings de tuplas) en una string vacía. Y luego usaremos set para eliminar duplicados. Finalmente, convertirlos a tipo entero e imprimir la salida lista
Python3
# Python code to convert list of tuples into # list of all digits which exists # in elements of list. # Input list initialization lst = [(11, 100), (22, 200), (33, 300), (44, 400), (88, 800)] p="" for i in lst: x=list(map(str,i)) p+="".join(x) p=list(map(int,set(p))) # Printing output print("Initial List is :", lst) print("Output list is :", p)
Initial List is : [(11, 100), (22, 200), (33, 300), (44, 400), (88, 800)] Output list is : [0, 4, 2, 3, 8, 1]
Publicación traducida automáticamente
Artículo escrito por everythingispossible y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA