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