Python: reemplaza las vocales por la siguiente vocal

Dada una string, reemplace cada vocal con la siguiente vocal en serie.

Entrada : test_str = ‘geekforgeeks’
Salida : giikfurgiiks
Explicación : después de e, la siguiente vocal es i, todas las e reemplazadas por i.

Entrada : test_str = ‘geekforgeeks is best’
Salida : giikfurgiiks os bist
Explicación : después de e, la siguiente vocal es i, toda e reemplazada por i.

Método #1: Usando zip() + comprensión de lista

Esta es una de las formas en que se puede realizar esta tarea. En esto, realizamos la tarea de formar el diccionario de reemplazo usando zip() y luego se usa la comprensión de lista para realizar la tarea de reemplazo con la siguiente vocal.

Python3

# Python3 code to demonstrate working of 
# Replace vowels by next vowel
# Using list comprehension + zip()
  
# initializing string
test_str = 'geekforgeeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# constructing dictionary using zip()
vow = 'a e i o u'.split()
temp = dict(zip(vow, vow[1:] + [vow[0]]))
  
# list comprehension to perform replacement
res = "".join([temp.get(ele, ele) for ele in test_str])
  
# printing result 
print("The replaced string : " + str(res)) 
Producción

The original string is : geekforgeeks
The replaced string : giikfurgiiks

Método #2: Uso de comprensión de diccionario + comprensión de lista

Esta es otra forma más en la que se puede realizar esta tarea. En esto, realizamos la tarea de mapeo usando la comprensión del diccionario y la comprensión de la lista se usa para realizar la tarea de reemplazo.

Python3

# Python3 code to demonstrate working of 
# Replace vowels by next vowel
# Using list comprehension + dictionary comprehension
  
# initializing string
test_str = 'geekforgeeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# constructing dictionary using dictionary comprehension
vow = "aeiou"
temp = {vow[idx] : vow[(idx + 1) % len(vow)] for idx in range(len(vow))}
  
# using get() to map elements to dictionary and join to convert
res = "".join([temp.get(ele, ele) for ele in test_str])
  
# printing result 
print("The replaced string : " + str(res)) 
Producción

The original string is : geekforgeeks
The replaced string : giikfurgiiks

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 *