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))
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))
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