Python | Maneras de dividir una string de diferentes maneras

El problema más común que hemos encontrado en Python es dividir una string por un delimitador, pero en algunos casos tenemos que dividir de diferentes maneras para obtener la respuesta. En este artículo, obtendremos substrings obtenidas al dividir strings de diferentes maneras. Ejemplos:

Entrada: Paras_Jain_Moengage_best Salida: [‘Paras’, ‘Paras_Jain’, ‘Paras_Jain_Moengage’, ‘Paras_Jain_Moengage_best’] Entrada: chunky_2808_GFG_Codechef Salida: [‘chunky’, ‘chunky_2808’, ‘chunky_2808_GFG’, ‘chunky_G_2808_GF]Codechef

A continuación se muestran algunas formas de realizar la tarea.

Método #1: Usar la iteración 

Python3

# Python code to split string in substring manner
 
# Input initialisation
Input = "Geeks_for_geeks_is_best"
 
# Split initialise
split_string = Input.split('_')
 
# Output list initialise
Output = []
 
# Iteration
for a in range(len(split_string)):
    temp = split_string[:a + 1]
    temp = "_".join(temp)
    Output.append(temp)
 
# print output
print(Output)
Salida: [‘Geeks’, ‘Geeks_for’, ‘Geeks_for_geeks’, ‘Geeks_for_geeks_is’, ‘Geeks_for_geeks_is_best’]

Método 2: Uso de Itertools 

Python3

# Python code to split string in substring manner
 
# Importing
from itertools import accumulate
 
# Input initialisation
Input = "Geeks_for_geeks_is_best"
 
# Using accumulate
Output = [*accumulate(Input.split('_'), lambda temp1, temp2 :
                                   '_'.join([temp1, temp2])), ]
 
# Printing output
print(Output)
Salida: [‘Geeks’, ‘Geeks_for’, ‘Geeks_for_geeks’, ‘Geeks_for_geeks_is’, ‘Geeks_for_geeks_is_best’]

Método n. ° 3: usar el módulo re y el corte de strings

Python3

# Python code to split string in substring manner
# Importing
import re
 
# Input initialisation
Input = "Geeks_for_geeks_is_best"
 
# Using re module with string slicing to generate substring
ans = []
for i in re.finditer("(_)", Input):
    temp = Input[:i.span()[0]]
    ans.append(temp)
     
# inserting last substring
ans.append(Input)
 
# Printing output
print(ans)

Producción:

['Geeks', 'Geeks_for', 'Geeks_for_geeks', 'Geeks_for_geeks_is', 'Geeks_for_geeks_is_best']

Publicación traducida automáticamente

Artículo escrito por everythingispossible 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 *