A veces, mientras trabajamos con strings de Python, podemos tener un problema en el que tenemos una string y deseamos verificar si una string aumenta o disminuye consecutivamente. Este tipo de problema tiene aplicación tanto en datos como en programación día a día. Analicemos ciertas formas en que se puede resolver este problema.
Método #1: Uso map() + split()
de la comprensión de lista +
La combinación de las funciones anteriores se puede utilizar para realizar esta tarea. En esto, dividimos la string en la lista, separada por delimitación y luego, para la prueba de problemas monótonos en la lista, empleamos la comprensión de la lista.
# Python3 code to demonstrate working of # Test if String is Monotonous # Using list comprehension + map() + split() # initializing string test_str = "6, 5, 4, 3, 2, 1" # printing original string print("The original string is : " + test_str) # initializing delim delim = ", " # Test if String is Monotonous # Using list comprehension + map() + split() temp = list(map(int, test_str.split(delim))) direc = temp[-1] > temp[0] or -1 res = temp == list(range(temp[0], temp[-1] + direc, direc)) # printing result print("Is string Monotonous ? : " + str(res))
The original string is : 6, 5, 4, 3, 2, 1 Is string Monotonous ? : True
Método #2: Usarmap() + split() + zip() + len()
La combinación de las funciones anteriores se puede usar para realizar esta tarea. En esto, realizamos la tarea de dividir como se indicó anteriormente, pero la tarea de realizar lo monótono se realiza mediante zip() y len().
# Python3 code to demonstrate working of # Test if String is Monotonous # Using map() + split() + zip() + len() # initializing string test_str = "6, 5, 4, 3, 2, 1" # printing original string print("The original string is : " + test_str) # initializing delim delim = ", " # Test if String is Monotonous # Using map() + split() + zip() + len() temp = list(map(int, test_str.split(delim))) diff = set(i - j for i, j in zip(temp, temp[1:])) res = len(diff) == 1 and diff.pop() in (1, -1) # printing result print("Is string Monotonous ? : " + str(res))
The original string is : 6, 5, 4, 3, 2, 1 Is string Monotonous ? : 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