Python – Convertir tupla a par de tuplas

A veces, mientras trabajamos con registros de Python Tuple, podemos tener un problema en el que necesitamos convertir una sola tupla con 3 elementos en un par de tuplas duales. Este es un problema bastante peculiar, pero puede tener problemas en la programación diurna y en la programación competitiva. Analicemos ciertas formas en que se puede realizar esta tarea.

Entrada : test_tuple = (‘A’, ‘B’, ‘C’)
Salida : [(‘A’, ‘B’), (‘A’, ‘C’)]

Entrada : test_tuple = (‘X’, ‘Y’, ‘Z’)
Salida : [(‘X’, ‘Y’), (‘X’, ‘Z’)]

Método #1: Usarproduct() + next()
La combinación de las funciones anteriores se puede usar para resolver este problema. En esto, hacemos pares usando producto, la selección de emparejamiento con el siguiente elemento se realiza usando nex().

# Python3 code to demonstrate working of 
# Convert Tuple to Tuple Pair
# Using product() + next()
from itertools import product
  
# initializing tuple
test_tuple = ('G', 'F', 'G')
  
# printing original tuple
print("The original tuple : " + str(test_tuple))
  
# Convert Tuple to Tuple Pair
# Using product() + next()
test_tuple = iter(test_tuple)
res = list(product(next(test_tuple), test_tuple))
  
# printing result 
print("The paired records : " + str(res))
Producción :

The original tuple : ('G', 'F', 'G')
The paired records : [('G', 'F'), ('G', 'G')]

Método #2: Usarrepeat() + zip() + next()
Este problema también se puede resolver usando la combinación de las funciones anteriores. En este realizamos la tarea de emparejamiento usando zip() y repetición usando repeat().

# Python3 code to demonstrate working of 
# Convert Tuple to Tuple Pair
# Using repeat() + zip() + next()
from itertools import repeat
  
# initializing tuple
test_tuple = ('G', 'F', 'G')
  
# printing original tuple
print("The original tuple : " + str(test_tuple))
  
# Convert Tuple to Tuple Pair
# Using repeat() + zip() + next()
test_tuple = iter(test_tuple)
res = list(zip(repeat(next(test_tuple)), test_tuple))
  
# printing result 
print("The paired records : " + str(res))
Producción :

The original tuple : ('G', 'F', 'G')
The paired records : [('G', 'F'), ('G', 'G')]

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 *