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)))
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))
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