Python: cree un diccionario con la clave como primer carácter y el valor como palabras que comienzan con ese carácter

En este artículo, codificaremos un programa de Python para crear un diccionario con la clave como el primer carácter y el valor como palabras que comienzan con ese carácter.

Dictionary en Python es una colección desordenada de valores de datos, que se utiliza para almacenar valores de datos como un mapa, que a diferencia de otros tipos de datos que contienen solo un valor como elemento, Dictionary contiene el par clave: valor. El valor-clave se proporciona en el diccionario para hacerlo más optimizado.

Ejemplos:

Input: Hello World
Output: {'H': ['Hello'], 
         'W': ['World']}

Input: Welcome to GeeksForGeeks
Output: {'W': ['Welcome'], 
         't': ['to'], 
         'G': ['GeeksForGeeks']}

Acercarse:

  • Guardaremos la string en una variable y declararemos un diccionario vacío .
  • Luego dividiremos la string en palabras y formaremos una lista de esas palabras.
  • Para cada palabra, comprobaremos si la clave de esa palabra está presente o no.
  • Si no es así, agregaremos esa clave y palabra al diccionario y, si ya está presente, agregaremos esa palabra a la sublista de esa clave.

A continuación se muestra la implementación del enfoque anterior:

Python3

# Python program to Create a Dictionary with Key as First
# Character and Value as Words Starting with that Character
  
# Driver Code
  
# Declaring String Data
string_input = '''GeeksforGeeks is a Computer Science  portal for geeks.
       It contains well written, well thought and well explained
       computer science and programming articles, quizzes etc.'''
  
# Storing words in the input as a list
words = string_input.split()
  
# Declaring empty dictionary
dictionary = {}
  
for word in words:
  
    # If key is not present in the dictionary then we
    # will add the key and word to the dictionary.
    if (word[0] not in dictionary.keys()):
  
        # Creating a sublist to store words with same
        # key value and adding it to the list.
        dictionary[word[0]] = []
        dictionary[word[0]].append(word)
  
    # If key is present then checking for the word
    else:
  
        # If word is not present in the sublist then
        # adding it to the sublist of the proper key
        # value
        if (word not in dictionary[word[0]]):
            dictionary[word[0]].append(word)
  
# Printing the dictionary
print(dictionary)

Producción:

{'G': ['GeeksforGeeks'], 
 'i': ['is'], 
 'a': ['a', 'and', 'articles,'], 
 'C': ['Computer'],
 'S': ['Science'], 
 'p': ['portal', 'programming'], 
 'f': ['for'], 
 'g': ['geeks.'], 
 'I': ['It'], 
 'c': ['contains', 'computer'], 
 'w': ['well', 'written,'], 
 't': ['thought'],
 'e': ['explained', 'etc.'], 
 's': ['science'], 
 'q': ['quizzes']}

Puede ver que en la salida del programa anterior, las palabras que comienzan con G tienen dos teclas ‘ G ‘ y ‘ g ‘, por lo que para eliminar ese problema y hacer que el código no distinga entre mayúsculas y minúsculas, utilizaremos la función lower() en python. Guardaremos todas las claves con minúsculas para que cada vez que busquemos la clave, las palabras que comienzan con ‘ G ‘ y ‘ g ‘ aparecerán bajo la misma clave. A continuación se muestra la implementación:

Python3

# Python program to Create a Dictionary with Key as First
# Character and Value as Words Starting with that Character
  
# Driver Code
  
# Declaring String Data
string_input = '''GeeksforGeeks is a Computer Science  portal for geeks.
       It contains well written, well thought and well explained
       computer science and programming articles, quizzes etc.'''
  
# Storing words in the input as a list
words = string_input.split()
  
# Declaring empty dictionary
dictionary = {}
  
for word in words:
  
    # If key is not present in the dictionary then we
    # will add the key and word to the dictionary.
    if (word[0].lower() not in dictionary.keys()):
  
        # Creating a sublist to store words with same
        # key value and adding it to the list.
        dictionary[word[0].lower()] = []
        dictionary[word[0].lower()].append(word)
  
    # If key is present then checking for the word
    else:
  
        # If word is not present in the sublist then
        # adding it to the sublist of the proper key
        # value
        if (word not in dictionary[word[0].lower()]):
            dictionary[word[0].lower()].append(word)
  
# Printing the dictionary
print(dictionary)

Producción:

{'g': ['GeeksforGeeks', 'geeks.'],
 'i': ['is', 'It'],
 'a': ['a', 'and', 'articles,'], 
 'c': ['Computer', 'contains', 'computer'], 
 's': ['Science', 'science'], 
 'p': ['portal', 'programming'], 
 'f': ['for'], 
 'w': ['well', 'written,'], 
 't': ['thought'], 
 'e': ['explained', 'etc.'], 
 'q': ['quizzes']}

Publicación traducida automáticamente

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