Programa Python para verificar si los caracteres de todos los elementos de string están en orden léxico o no

Dada una lista con elementos de string, la tarea es escribir un programa Python para devolver True si todos los elementos de la lista están ordenados. El punto de precaución aquí es tener en cuenta que estamos comparando caracteres de un elemento de lista de strings con otros caracteres del mismo elemento de lista y no elementos de string entre sí. 

Ejemplos:

Entrada: test_list = [“dent”, “flop”, “most”, “cent”]

Salida: Verdadero

Explicación: todos los caracteres están ordenados.

Entrada: test_list = [“dent”, “flop”, “mist”, “cent”]

Salida: Falso

Explicación: m > i en la niebla, por lo tanto desordenado. Entonces, se devuelve False.

Método 1: Usar bucle y ordenar()

En esto, iteramos para cada String y probamos si todas las Strings están ordenadas usando sorted(), si alguna string no está ordenada/ordenada, el resultado se marca.

Ejemplo:

Python3

# initializing list
test_list = ["dent", "flop", "most", "cent"]
 
# printing original list
print("The original list is : " + str(test_list))
 
res = True
for ele in test_list:
 
    # check for ordered string
    if ele != ''.join(sorted(ele)):
        res = False
        break
 
# printing result
print("Are all strings ordered ? : " + str(res))

Producción:

La lista original es: [‘dent’, ‘flop’, ‘most’, ‘cent’]

¿Están todas las strings ordenadas? : Verdadero

Método 2: Usar all() y sorted()

En esto, se evita el bucle y todas las strings que se ordenarán se verifican usando all(), que devuelve True si todos los elementos devuelven true para ciertas condiciones.

Ejemplo:

Python3

# initializing list
test_list = ["dent", "flop", "most", "cent"]
 
# printing original list
print("The original list is : " + str(test_list))
 
# using all() to check all elements to be sorted
res = all(ele == ''.join(sorted(ele)) for ele in test_list)
 
# printing result
print("Are all strings ordered ? : " + str(res))

Producción:

La lista original es: [‘dent’, ‘flop’, ‘most’, ‘cent’]

¿Están todas las strings ordenadas? : Verdadero

La Complejidad de Espacio y Tiempo para todos los métodos es la misma:

Complejidad de tiempo: O(n)

Complejidad espacial: O(n)

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 *