A veces, mientras trabajamos con datos, podemos tener un problema en el que es posible que necesitemos realizar fragmentos de tuplas, cada uno de tamaño N. Esto es popular en aplicaciones en las que necesitamos proporcionar datos en fragmentos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método n.º 1: Uso de la comprensión de listas Este es un método simple y abreviado para realizar esta tarea. En esto, dividimos los N elementos a la vez y construimos una nueva tupla para ellos.
Python3
# Python3 code to demonstrate working of # Chunk Tuples to N # using list comprehension # initialize tuple test_tup = (10, 4, 5, 6, 7, 6, 8, 3, 4) # printing original tuple print("The original tuple : " + str(test_tup)) # initialize N N = 3 # Chunk Tuples to N # using list comprehension res = [test_tup[i : i + N] for i in range(0, len(test_tup), N)] # printing result print("The tuples after chunking are : " + str(res))
The original tuple : (10, 4, 5, 6, 7, 6, 8, 3, 4) The tuples after chunking are : [(10, 4, 5), (6, 7, 6), (8, 3, 4)]
Método #2: Usar zip() + iter() La combinación de las funciones anteriores también se puede usar para resolver este problema. En esto, usamos zip() para combinar fragmentos e iter() convierte al formato adecuado.
Python3
# Python3 code to demonstrate working of # Chunk Tuples to N # using zip() + iter() # initialize tuple test_tup = (10, 4, 5, 6, 7, 6, 8, 3, 4) # printing original tuple print("The original tuple : " + str(test_tup)) # initialize N N = 3 # Chunk Tuples to N # using zip() + iter() temp = [iter(test_tup)] * N res = list(zip(*temp)) # printing result print("The tuples after chunking are : " + str(res))
The original tuple : (10, 4, 5, 6, 7, 6, 8, 3, 4) The tuples after chunking are : [(10, 4, 5), (6, 7, 6), (8, 3, 4)]
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