Dada una lista de listas, escriba un programa Python para extraer el último elemento de cada sublista en la lista de listas dada.
Ejemplos:
Input : [[1, 2, 3], [4, 5], [6, 7, 8, 9]] Output : [3, 5, 9] Input : [['x', 'y', 'z'], ['m'], ['a', 'b'], ['u', 'v']] Output : ['z', 'm', 'b', 'v']
Enfoque #1: Comprensión de listas
# Python3 program to extract first and last # element of each sublist in a list of lists def Extract(lst): return [item[-1] for item in lst] # Driver code lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]] print(Extract(lst))
[3, 5, 9]
Enfoque n. ° 2: uso de zip y operador de desempaquetado (*)
Este método usa zip con * o un operador de desempaquetado que pasa todos los elementos dentro de ‘lst’ como argumentos a la función zip. Hay un pequeño truco para extraer el último elemento de la lista. En lugar de usar zip directo, use los iteradores de lista invertida.
# Python3 program to extract first and last # element of each sublist in a list of lists def Extract(lst): return list(zip(*[reversed(el) for el in lst]))[0] # Driver code lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]] print(Extract(lst))
(3, 5, 9)
Otra forma de usarlo zip
es usarlo con Python map
, pasándolo reversed
como función.
def Extract(lst): return list(list(zip(*map(reversed, lst)))[0])
Enfoque #3: Usaritemgetter()
# Python3 program to extract first and last # element of each sublist in a list of lists from operator import itemgetter def Extract(lst): return list( map(itemgetter(-1), lst )) # Driver code lst = [[1, 2, 3], [4, 5], [6, 7, 8, 9]] print(Extract(lst))
[3, 5, 9]
Publicación traducida automáticamente
Artículo escrito por Smitha Dinesh Semwal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA