Python: trozos de tamaño incremental de strings

Dada una string, divídala en una lista consecutiva de tamaños incrementales.

Entrada : test_str = ‘geekforgeeks is best’
Salida : [‘g’, ‘ee’, ‘kfo’, ‘rgee’, ‘ks is’, ‘best’]
Explicación : el tamaño de los caracteres aumenta en la lista.

Entrada : test_str = ‘geekforgeeks’
Salida : [‘g’, ‘ee’, ‘kfo’, ‘rgee’, ‘ks’]
Explicación : el tamaño de los caracteres aumenta en la lista.

Método #1: Usar bucle + corte

En esto, realizamos la tarea de obtener fragmentos mediante el corte de strings y seguimos aumentando el tamaño de los fragmentos durante la iteración.

Python3

# Python3 code to demonstrate working of 
# Incremental Size Chunks from Strings
# Using loop + slicing
  
# initializing string
test_str = 'geekforgeeks is best for geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
res = []
idx = 1
while True:
    if len(test_str) > idx:
          
        # chunking
        res.append(test_str[0 : idx])
        test_str = test_str[idx:]
        idx += 1
    else:
        res.append(test_str)
        break
      
# printing result 
print("The Incremental sized Chunks : " + str(res)) 
Producción

The original string is : geekforgeeks is best for geeks
The Incremental sized Chunks : ['g', 'ee', 'kfo', 'rgee', 'ks is', ' best ', 'for gee', 'ks']

Método #2: Usar generador + rebanar 

En esto, realizamos el corte como en el método anterior, la diferencia es que los fragmentos se procesan utilizando la expresión del generador, cada fragmento produce en tiempo de ejecución en bucle.

Python3

# Python3 code to demonstrate working of 
# Incremental Size Chunks from Strings
# Using generator + slicing 
  
# generator function 
def gen_fnc(test_str):
    strt = 0
    stp = 1
    while test_str[strt : strt + stp]:
          
        # return chunks runtime while looping
        yield test_str[strt : strt + stp]
        strt += stp
        stp += 1
  
# initializing string
test_str = 'geekforgeeks is best for geeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# calling fnc.
res = list(gen_fnc(test_str))
      
# printing result 
print("The Incremental sized Chunks : " + str(res)) 
Producción

The original string is : geekforgeeks is best for geeks
The Incremental sized Chunks : ['g', 'ee', 'kfo', 'rgee', 'ks is', ' best ', 'for gee', 'ks']

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 *