Python: unión de sufijos consecutivos selectivos

Dada una lista de elementos, realice una unión de strings consecutivas según el sufijo de cada string.

Entrada : test_list = [“Geeks-“, “for-“, “Geeks”, “is”, “best-“, “for”, “geeks”, suff = ‘-‘ 
Salida : [‘Geeks-for-Geeks ‘, ‘es’, ‘mejor para’, ‘geeks’] 
Explicación : las strings se unen a las siguientes que tienen «-» como sufijo.

Entrada : test_list = [“Geeks*”, “para*”, “Geeks”, “es”, “mejor*”, “para”, “geeks”, suff = ‘*’ 
Salida : [‘Geeks*para*Geeks ‘, ‘es’, ‘mejor*para’, ‘geeks’] 
Explicación : las strings se unen a las siguientes que tienen «*» como sufijo. 

Enfoque: Usar bucle + extremos con() + unir()

En esto, realizamos la tarea de unir usando join() y Endswith() realiza la tarea de verificaciones condicionales para el sufijo como se define. 

Python3

# Python3 code to demonstrate working of
# Selective consecutive Suffix Join
# Using loop + endswith() + join()
 
# initializing list
test_list = ["Geeks-", "for-", "Geeks", "is",
             "best-", "for", "geeks"]
 
# printing original list
print("The original list is : " + str(test_list))
 
# initializing suffix
suff = '-'
 
res = []
temp = []
for ele in test_list:
    temp.append(ele)
 
    # conditionally test values
    if not ele.endswith(suff):
        res.append(''.join(temp))
        temp = []
if temp:
    res.append(''.join(temp))
 
# printing result
print("The joined result : " + str(res))

Producción:

La lista original es: [‘Geeks-‘, ‘for-‘, ‘Geeks’, ‘is’, ‘best-‘, ‘for’, ‘geeks’] El resultado combinado: [‘Geeks-for-Geeks’, ‘es’, ‘mejor para’, ‘geeks’]

La complejidad de tiempo y espacio para todos los métodos es la misma:

Complejidad de tiempo: O(n)

Complejidad espacial: O(n)

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 *