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