Python | Cortar string de rangos de tupla

A veces, mientras trabajamos con datos, podemos tener un problema en el que necesitamos realizar la eliminación de strings según los rangos de substrings especificados. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso de loop + list slicing
Esta es la tarea de fuerza bruta para realizar esta tarea. En esto, rehacemos la String omitiendo cuidadosamente los rangos de corte usando el corte de lista. La iteración de tuplas se realiza mediante bucle.

# Python3 code to demonstrate working of
# Slice String from Tuple ranges
# using loop + list slicing
  
# initialize list and string 
test_list = [(2, 4), (5, 9), (13, 17), (24, 27)]
               
test_str = "geeksforgeeks is best for geeks and programming"
  
# printing original list and string
print("The original list : " + str(test_list))
print("The original string : " + str(test_str))
  
# Slice String from Tuple ranges
# using loop + list slicing
for front, rear in reversed(test_list):
    test_str = test_str[ : front] + test_str[rear + 1:]
  
# printing result
print("The String after slicing is : " + str(test_str))
Producción :

The original list : [(2, 4), (5, 9), (13, 17), (24, 27)]
The original string : geeksforgeeks is best for geeks and programming
The String after slicing is : geeksest foeks and programming

Método n.º 2: uso de la join() + any()expresión del generador +
La combinación de estas funcionalidades también se puede usar para realizar esta tarea. En esto, realizamos la tarea de dividir utilizando la expresión del generador y la exclusión es manejada por any(). La creación de strings modificadas se realiza mediante join().

# Python3 code to demonstrate working of
# Slice String from Tuple ranges
# using join() + any() + generator expression
  
# initialize list and string 
test_list = [(2, 4), (5, 9), (13, 17), (24, 27)]
               
test_str = "geeksforgeeks is best for geeks and programming"
  
# printing original list and string
print("The original list : " + str(test_list))
print("The original string : " + str(test_str))
  
# Slice String from Tuple ranges
# using join() + any() + generator expression
res = "".join(test_str[idx] for idx in range(len(test_str))\
      if not any(front <= idx <= rear for front, rear in test_list))
  
  
# printing result
print("The String after slicing is : " + str(res))
Producción :

The original list : [(2, 4), (5, 9), (13, 17), (24, 27)]
The original string : geeksforgeeks is best for geeks and programming
The String after slicing is : geeksest foeks and programming

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 *