Python: strings de grupos en el carácter Kth

A veces, mientras trabajamos con strings de Python, podemos tener un problema en el que necesitamos realizar la agrupación de strings de Python en función de su carácter Kth. Este tipo de problema puede venir en la programación día a día. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Uso del bucle
Esta es una forma en la que se puede realizar esta tarea. En esto, realizamos la tarea de agrupar utilizando el enfoque de fuerza bruta. Iteramos cada string y agrupamos el diccionario después de la verificación condicional usando una declaración condicional.

# Python3 code to demonstrate working of 
# Groups Strings on Kth character
# Using loop
from collections import defaultdict
  
# initializing list
test_list = ["gfg", "is", "best", "for", "geeks"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 2
  
# Groups Strings on Kth character
# Using loop
res = defaultdict(list)
for word in test_list:
    res[word[K - 1]].append(word)
  
# printing result 
print("The strings grouping : " + str(dict(res))) 
Producción :

La lista original es: [‘gfg’, ‘is’, ‘best’, ‘for’, ‘geeks’]
La agrupación de strings: {‘f’: [‘gfg’], ‘s’: [‘is’] , ‘e’: [‘mejor’, ‘geeks’], ‘o’: [‘para’]}

Método n.º 2: usar el map() bucle +
Esta es otra forma de resolver este problema. En esta variante, se agrega una prueba adicional de carácter válido usando map().

# Python3 code to demonstrate working of 
# Groups Strings on Kth character
# Using loop + map()
  
# initializing list
test_list = ["gfg", "is", "best", "for", "geeks"]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing K 
K = 2
  
# Groups Strings on Kth character
# Using loop + map()
res = dict()
for char in map(chr, range(97, 123)):
    words = [idx for idx in test_list if idx[K - 1] == char]
    if words:
        res[char] = words
  
# printing result 
print("The strings grouping : " + str(res)) 
Producción :

La lista original es: [‘gfg’, ‘is’, ‘best’, ‘for’, ‘geeks’]
La agrupación de strings: {‘f’: [‘gfg’], ‘s’: [‘is’] , ‘e’: [‘mejor’, ‘geeks’], ‘o’: [‘para’]}

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 *