Python | Modificando el contenido de la tupla con la lista

En Python, las tuplas son inmutables y, por lo tanto, no se requieren cambios en ellas una vez que se forman. Esta restricción hace que su procesamiento sea más difícil y, por lo tanto, es muy útil tener conocimiento de ciertas operaciones en tuplas. Este artículo trata de modificar el segundo elemento de la tupla con la lista dada. Vamos a discutir ciertas formas en que esto se puede hacer.

Método #1: Uso zip() de la comprensión de lista +
En este método, simplemente tomamos el primer elemento de la lista de tuplas y el elemento en el índice correspondiente y los comprimimos juntos usando la función zip.

# Python3 code to demonstrate
# modifying tuple elements
# using zip() + list comprehension
  
# initializing lists
test_list1 = [('Geeks', 1), ('for', 2), ('Geeks', 3)]
test_list2 = [4, 5, 6]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# using zip() + list comprehension
# modifying tuple elements
res = [(i[0], j) for i, j in zip(test_list1, test_list2)]
  
# print result
print("The modified resultant list of tuple : " + str(res))
Producción :

The original list 1 : [('Geeks', 1), ('for', 2), ('Geeks', 3)]
The original list 2 : [4, 5, 6]
The modified resultant list of tuple : [('Geeks', 4), ('for', 5), ('Geeks', 6)]

Método n.º 2: usarzip() + map() + operator.itemgetter()
la función itemgetter aquí hace la tarea de obtener la constante de dos elementos de tupla que luego se asigna con el índice correspondiente utilizando la función de mapa. La función zip se usa para extender esta lógica a toda la lista.

# Python3 code to demonstrate
# modifying tuple elements
# using zip() + map() + operator.itemgetter()
import operator
  
# initializing lists
test_list1 = [('Geeks', 1), ('for', 2), ('Geeks', 3)]
test_list2 = [4, 5, 6]
  
# printing original lists
print("The original list 1 : " + str(test_list1))
print("The original list 2 : " + str(test_list2))
  
# using zip() + map() + operator.itemgetter()
# modifying tuple elements
temp = map(operator.itemgetter(0), test_list1)
res = list(zip(temp, test_list2))
  
# print result
print("The modified resultant list of tuple : " + str(res))
Producción :

The original list 1 : [('Geeks', 1), ('for', 2), ('Geeks', 3)]
The original list 2 : [4, 5, 6]
The modified resultant list of tuple : [('Geeks', 4), ('for', 5), ('Geeks', 6)]

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 *