Python: prueba el orden de las substrings

Dadas dos strings, verifique si los caracteres de la substring aparecen en el orden correcto en la string.

Entrada : test_str = ‘geeksforgeeks’, K = ‘ve’ Salida : verdadera Explicación : «s» después de que «ee» y luego «s» está presente en orden en la string 1. Entrada : test_str = ‘geeksforgeeks’, K = ‘ seef’ Salida : Falso Explicación : String desordenada.

Método n. ° 1: usar join() + expresión generadora + operador in

En esto, verificamos que unimos todos los caracteres que ocurren en la substring usando join(), publicamos que verificamos si la substring está presente usando el operador in.

Python3

# Python3 code to demonstrate working of
# Test substring order
# Using join() + in operator + generator expression
 
# initializing string
test_str = 'geeksforgeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing substring
K = 'seek'
 
# concatenating required characters
temp = lambda sub: ''.join(chr for chr in sub if chr in set(K))
 
# checking in order
res = K in temp(test_str)
 
# printing result
print("Is substring in order : " + str(res))
Producción

The original string is : geeksforgeeks
Is substring in order : True

Método #2: Usando all() + next() + generador de expresión

En esto, obtenemos la string con solo caracteres de substring usando next() y la expresión del generador, para verificar el orden, se usa la operación all() para cada carácter en la substring.

Python3

# Python3 code to demonstrate working of
# Test substring order
# Using all() + next() + generator expression
 
# initializing string
test_str = 'geeksforgeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing substring
K = 'seek'
 
# concatenating required characters using next()
# all() used to test order
test_str = iter(test_str)
res = all(next((ele for ele in test_str if ele == chr), None) is not None for chr in K)
 
# printing result
print("Is substring in order : " + str(res))
Producción

The original string is : geeksforgeeks
Is substring in order : True

Método #3: Usando el método find()

Python3

# Python3 code to demonstrate working of
# Test substring order
 
# initializing string
test_str = 'geeksforgeeks'
 
# printing original string
print("The original string is : " + str(test_str))
 
# initializing substring
K = 'seek'
ns=""
for i in test_str:
    if i in K:
        ns+=i
res=False
if(ns.find(K)!=-1):
    res=True
# printing result
print("Is substring in order : " + str(res))
Producción

The original string is : geeksforgeeks
Is substring in order : True

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 *