A veces, mientras trabajamos con strings de Python, podemos tener un problema en el que necesitamos verificar la substring máxima que se produce en la lista de strings. Esto puede tener aplicación en la secuenciación de ADN en Biología y otras aplicaciones. Vamos a discutir cierta forma en que se puede realizar esta tarea.
Método 1: usar regex() + groupby() + max() + lambda
La combinación de las funciones anteriores se puede usar para resolver este problema en particular. En esto, primero extraemos las secuencias usando la función regex. Luego, la agrupación de contadores se realiza mediante groupby(). El último paso es extraer el máximo que se hace usando max() junto con la función lambda.
Python3
# Python3 code to demonstrate working of # Maximum occurring Substring from list # Using regex() + groupby() + max() + lambda import re import itertools # initializing string test_str = "gfghsisbjknlmkesbestgfgsdcngfgcsdjnisdjnlbestdjsklgfgcdsbestbnjdsgfgdbhisbhsbestdkgfgb" test_list = ['gfg', 'is', 'best'] # printing original string and list print("The original string is : " + test_str) print("The original list is : " + str(test_list)) # Maximum occurring Substring from list # Using regex() + groupby() + max() + lambda seqs = re.findall(str.join('|', test_list), test_str) grps = [(key, len(list(j))) for key, j in itertools.groupby(seqs)] res = max(grps, key = lambda ele : ele[1]) # printing result print("Maximum frequency substring : " + str(res[0]))
The original string is : gfghsisbjknlmkesbestgfgsdcngfgcsdjnisdjnlbestdjsklgfgcdsbestbnjdsgfgdbhisbhsbestdkgfgb The original list is : ['gfg', 'is', 'best'] Maximum frequency substring : gfg
Método 2: Usar los métodos count() y max()
count() devuelve la ocurrencia de un elemento particular en una secuencia y el método max() devuelve el máximo de eso.
Python3
# Python3 code to demonstrate working of # Maximum occurring Substring from list # initializing string test_str = "gfghsisbjknlmkesbestgfgsdcngfgcsdjnisdjnlbestdjsklgfgcdsbestbnjdsgfgdbhisbhsbestdkgfgb" test_list = ['gfg', 'is', 'best'] # printing original string and list print("The original string is : " + test_str) print("The original list is : " + str(test_list)) res=[] for i in test_list: res.append(test_str.count(i)) x=max(res) result=test_list[res.index(x)] # printing result print("Maximum frequency substring : " + str(result))
The original string is : gfghsisbjknlmkesbestgfgsdcngfgcsdjnisdjnlbestdjsklgfgcdsbestbnjdsgfgdbhisbhsbestdkgfgb The original list is : ['gfg', 'is', 'best'] Maximum frequency substring : gfg
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