Dada la lista de strings, escriba un programa en Python para contar pares de strings inversas.
Ejemplos:
Entrada : test_list = [“geeks”, “best”, “tseb”, “for”, “skeeg”]
Salida : 2
Explicación : geeks, skeeg y best, tseb son 2 pares de strings inversas disponibles.Entrada : test_list = [“geeks”, “best”, “for”, “skeeg”]
Salida : 1
Explicación : geeks, skeeg es 1 par de strings inversas disponibles.
Método #1: Usar invertido() + bucle
En esto, realizamos la tarea de comparar strings con la versión invertida de la misma usando declaraciones condicionales e invertidas() . En esto, el bucle se usa para la tarea de comparar con cada string para el emparejamiento.
Python3
# Python3 code to demonstrate working of # Reversed Pairs in Strings List # Using reversed() + loop # initializing Matrix test_list = ["geeks", "best", "tseb", "for", "skeeg"] # printing original list print("The original list is : " + str(test_list)) res = 0 for idx in range(0, len(test_list)): # nested loop to check with each element with possible reverse counterpart for idxn in range(idx, len(test_list)): if test_list[idxn] == str(''.join(list(reversed(test_list[idx])))): res += 1 # printing result print("Reversed Pairs : " + str(res))
Producción:
La lista original es: [‘geeks’, ‘best’, ‘tseb’, ‘for’, ‘skeeg’] Pares invertidos: 2
Método n.° 2: usar la comprensión de listas + sum()
En esto, la comprensión de listas maneja el bucle anidado y sum() maneja parte del contador de incrementos para contar pares.
Python3
# Python3 code to demonstrate working of # Reversed Pairs in Strings List # Using list comprehension + sum() # initializing Matrix test_list = ["geeks", "best", "tseb", "for", "skeeg"] # printing original list print("The original list is : " + str(test_list)) # list comprehension for nested loop # sum increments counts res = sum([1 for idx in range(0, len(test_list)) for idxn in range(idx, len( test_list)) if test_list[idxn] == str(''.join(list(reversed(test_list[idx]))))]) # printing result print("Reversed Pairs : " + str(res))
Producción:
La lista original es: [‘geeks’, ‘best’, ‘tseb’, ‘for’, ‘skeeg’] Pares invertidos: 2
La complejidad de tiempo y espacio para todos los métodos es la misma:
Complejidad temporal: O(n 2 )
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