Programa Python para contar los pares de strings inversas

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *