Python – Cambia los signos de elementos de tuplas en una lista

Dada una lista dual de tuplas, la tarea es escribir un programa en Python para convertir el segundo elemento en una magnitud negativa de cada tupla y el primer elemento en una magnitud positiva de cada tupla.

Entrada: lista_prueba = [(3, -1), (-4, -3), (1, 3), (-2, 5), (-4, 2), (-9, -3)]

Salida: [(3, -1), (4, -3), (1, -3), (2, -5), (4, -2), (9, -3)]

Explicación: todos los primeros elementos son positivos y los elementos del segundo índice son negativos, como se desee.

Entrada : lista_prueba = [(3, -1), (-4, -3), (1, 3), (-2, 5)]

Salida: [(3, -1), (4, -3), (1, -3), (2, -5)]

Explicación: todos los primeros elementos son positivos y los elementos del segundo índice son negativos, como se desee.

Método 1: Usar loop y abs()

En esto, iteramos usando loop e inicialmente convertimos ambos a magnitud positiva usando abs(). El segundo elemento tiene el signo «-» y se convierte en elemento negativo según se desee.

Ejemplo:

Python3

# initializing lists
test_list = [(3, -1), (-4, -3), (1, 3), (-2, 5), (-4, 2), (-9, -3)]
  
# printing original list
print("The original list is : " + str(test_list))
  
res = []
for sub in test_list:
  
    # 2nd element converted to negative magnitude
    res.append((abs(sub[0]), -abs(sub[1])))
  
# printing result
print("Updated Tuple list : " + str(res))

Producción:

La lista original es: [(3, -1), (-4, -3), (1, 3), (-2, 5), (-4, 2), (-9, -3)]

Lista de tuplas actualizada: [(3, -1), (4, -3), (1, -3), (2, -5), (4, -2), (9, -3)]

Método 2: Usar la comprensión de listas 

Similar al método anterior, la única diferencia es que la comprensión de la lista se usa como un trazador de líneas para realizar esta tarea.

Ejemplo:

Python3

# initializing lists
test_list = [(3, -1), (-4, -3), (1, 3), (-2, 5), (-4, 2), (-9, -3)]
  
# printing original list
print("The original list is : " + str(test_list))
  
# list comprehension used as one liner
res = [(abs(sub[0]), -abs(sub[1])) for sub in test_list]
  
# printing result
print("Updated Tuple list : " + str(res))

Producción:

La lista original es: [(3, -1), (-4, -3), (1, 3), (-2, 5), (-4, 2), (-9, -3)]

Lista de tuplas actualizada: [(3, -1), (4, -3), (1, -3), (2, -5), (4, -2), (9, -3)]

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 *