Python | Comprobar si la lista es estrictamente creciente

La prueba de sucesión monótona es una utilidad que tiene múltiples aplicaciones en matemáticas y, por tanto, en todos los ámbitos relacionados con las matemáticas. Como las matemáticas y las ciencias de la computación generalmente van en paralelo, las operaciones matemáticas, como verificar una secuencia estrictamente creciente, pueden ser útiles para recopilar conocimientos. El mismo argumento también se puede extender para listas estrictamente decrecientes. Vamos a discutir ciertas formas de realizar esta prueba.

Método n.º 1: el uso deall() + zip()
The all()generalmente verifica todos los elementos que se le suministran. La tarea de zip() es vincular la lista comenzando desde el principio y la lista comenzando desde el primer elemento, de modo que se pueda realizar una verificación en todos los elementos.

# Python3 code to demonstrate 
# to check for strictly increasing list
# using zip() + all()
  
# initializing list
test_list = [1, 4, 5, 7, 8, 10]
  
# printing original lists
print ("Original list : " + str(test_list))
  
# using zip() + all()
# to check for strictly increasing list
res = all(i < j for i, j in zip(test_list, test_list[1:]))
  
# printing result
print ("Is list strictly increasing ? : " + str(res))
Producción:

Original list : [1, 4, 5, 7, 8, 10]
Is list strictly increasing ? : True

 
Método #2: Usar reduce()+ lambda
reduce() junto con lambda también puede realizar esta tarea de verificar la monotonicidad. La función de reducción se usa para acumular el resultado como Verdadero o Falso, la función lambda verifica cada valor de índice con el siguiente valor de índice.

# Python3 code to demonstrate 
# to check for strictly increasing list
# using reduce() + lambda
  
# initializing list
test_list = [1, 4, 5, 7, 8, 10]
  
# printing original lists
print ("Original list : " + str(test_list))
  
# using reduce() + lambda
# to check for strictly increasing list
res = bool(lambda test_list: reduce(lambda i, j: j if 
                 i < j else 9999, test_list) != 9999)
  
# printing result
print ("Is list strictly increasing ? : " + str(res))
Producción:

Original list : [1, 4, 5, 7, 8, 10]
Is list strictly increasing ? : True

 
Método n.° 3: Usaritertools.starmap() + zip() + all()
otro método más para realizar esta tarea, starmap()funciona al vincular la operación con las listas comprimidas como se hizo en el método 1 y all()también realiza una tarea similar de acumulación de resultados.

# Python3 code to demonstrate 
# to check for strictly increasing list
# using itertools.starmap() + zip() + all()
import operator
import itertools
  
# initializing list
test_list = [1, 4, 5, 7, 8, 10]
  
# printing original lists
print ("Original list : " + str(test_list))
  
# using itertools.starmap() + zip() + all()
# to check for strictly increasing list
res = all(itertools.starmap(operator.le, 
         zip(test_list, test_list[1:])))
  
# printing result
print ("Is list strictly increasing ? : " + str(res))
Producción:

Original list : [1, 4, 5, 7, 8, 10]
Is list strictly increasing ? : 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 *