Python | Obtener el último elemento de cada sublista

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))
Producción:

[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))
Producción:

(3, 5, 9)

Otra forma de usarlo zip es usarlo con Python map, pasándolo reversedcomo 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))
Producción:

[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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *