Encuentre la primera palabra repetida en una string en Python usando Dictionary

Requisito previo: Estructura de datos del diccionario Dada una string, encuentre la primera palabra repetida en una string. Ejemplos:

Input : "Ravi had been saying that he had been there"
Output : had
 
Input : "Ravi had been saying that"
Output : No Repetition

Input : "he had had he"
Output : he

Tenemos una solución existente para este problema, consulte Buscar la primera palabra repetida en un enlace de string . Podemos resolver este problema rápidamente en python usando la estructura de datos del Diccionario . El enfoque es simple,

  1. Primera string dada dividida separada por espacios.
  2. Ahora convierta la lista de palabras en un diccionario usando el método collections.Counter (iterador) . El diccionario contiene palabras como clave y su frecuencia como valor.
  3. Ahora recorra la lista de palabras nuevamente y verifique qué primera palabra tiene una frecuencia mayor que 1.

Python3

# Function to Find the first repeated word in a string
from collections import Counter
 
def firstRepeat(input):
     
    # first split given string separated by space
    # into words
    words = input.split(' ')
     
    # now convert list of words into dictionary
    dict = Counter(words)
 
    # traverse list of words and check which first word
    # has frequency > 1
    for key in words:
        if dict[key]>1:
            print (key)
            return
 
# Driver program
if __name__ == "__main__":
    input = 'Ravi had been saying that he had been there'
    firstRepeat(input)

Producción:

had

Complejidad de tiempo: O (longitud (palabras))

Espacio auxiliar: O (longitud (dict))

Publicación traducida automáticamente

Artículo escrito por Shashank Mishra 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 *