Python | Convertir string a tupla de N trozos

A veces, mientras trabajamos con Python Strings, podemos tener un problema en el que necesitamos dividir una string en N fragmentos de tamaño en una tupla. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de comprensión de lista + tupla
Este es un enfoque en el que se puede realizar esta tarea. En esto, simplemente iteramos el String y rompemos los trozos de string y construimos la tupla usando tuple() en un trazador de líneas.

# Python3 code to demonstrate working of
# Convert String to N chunks tuple
# Using list comprehension + tuple()
  
# initialize string
test_string = "ggggffffgggg"
  
# printing original string
print("The original string : " + str(test_string))
  
# initialize N 
N = 4
  
# Convert String to N chunks tuple
# Using list comprehension + tuple()
res = tuple(test_string[ i : i + N] for i in range(0, len(test_string), N))
  
# printing result
print("Chunked String into tuple : " + str(res))
Producción :

The original string : ggggffffgggg
Chunked String into tuple : ('gggg', 'ffff', 'gggg')

Método #2: Uso zip() + iter() + join()de la comprensión de lista +
La combinación de las funciones anteriores también se puede utilizar para realizar esta tarea. En esto, realizamos el acto de hacer fragmentos usando zip() + iter(). Y acumula el resultado usando join().

# Python3 code to demonstrate working of
# Convert String to N chunks tuple
# Using zip() + iter() + join()+ list comprehension
  
# initialize string
test_string = "ggggffffgggg"
  
# printing original string
print("The original string : " + str(test_string))
  
# initialize N 
N = 4
  
# Convert String to N chunks tuple
# Using zip() + iter() + join() + list comprehension
res = tuple([''.join(ele) for ele in zip(*[iter(test_string)] * N)])
  
# printing result
print("Chunked String into tuple : " + str(res))
Producción :

The original string : ggggffffgggg
Chunked String into tuple : ('gggg', 'ffff', 'gggg')

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 *