Python | Accediendo al enésimo elemento de las tuplas en la lista

Mientras trabajamos con tuplas, almacenamos diferentes datos como diferentes elementos de tupla. A veces, es necesario imprimir una información específica de la tupla. Por ejemplo, una pieza de código querría que solo se imprimieran los nombres de todos los datos de los estudiantes. Analicemos ciertas formas en que se pueden lograr soluciones a este problema.

Método #1: Usar la comprensión de listas
La comprensión de listas es la forma más sencilla de resolver este problema. Podemos iterar solo sobre el valor de índice específico en todo el índice y almacenarlo en una lista e imprimirlo después de eso.

# Python3 code to demonstrate 
# get nth tuple element from list
# using list comprehension 
  
# initializing list of tuples
test_list = [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# using list comprehension to get names
res = [lis[1] for lis in test_list]
      
# printing result
print ("List with only nth tuple element (i.e names) : " + str(res))

Producción :

The original list is : [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
List with only nth tuple element (i.e names) : ['Rash', 'Varsha', 'Kil']

Método #2: Usarmap() + itemgetter()
map() junto con itemgetter()puede realizar esta tarea de una manera más simple. map()mapea todo el elemento al que accedemos usando itemgetter()y devuelve el resultado.

# Python3 code to demonstrate 
# get nth tuple element from list
# using map() + itergetter()
from operator import itemgetter
  
# initializing list of tuples
test_list = [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# using map() + itergetter() to get names
res = list(map(itemgetter(1), test_list))
      
# printing result
print ("List with only nth tuple element (i.e names) : " + str(res))

Producción :

The original list is : [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
List with only nth tuple element (i.e names) : ['Rash', 'Varsha', 'Kil']

Método #3: Usarzip()
La forma más convencional y pythonica de realizar esta tarea en particular es usando esta función. Esto recopila todos los elementos de la tupla enésima en un solo contenedor y devuelve el resultado. Esto solo funciona para Python 2.

# Python code to demonstrate 
# get nth tuple element from list
# using zip()
  
# initializing list of tuples
test_list = [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
  
# printing original list 
print ("The original list is : " + str(test_list))
  
# using zip() to get names
res = list(zip(*test_list)[1])
      
# printing result
print ("List with only nth tuple element (i.e names) : " + str(res))

Producción :

The original list is : [(1, 'Rash', 21), (2, 'Varsha', 20), (3, 'Kil', 19)]
List with only nth tuple element (i.e names) : ['Rash', 'Varsha', 'Kil']

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 *