Python: substring máxima que aparece en la lista

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]))
Producción : 

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))
Producción

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *