Dada una Array, extraiga las filas con una diferencia mínima en valores extremos.
Ejemplos:
Entrada : test_list = [[4, 10, 18], [5, 0], [1, 4, 6], [19, 2]]
Salida : [[1, 4, 6], [5, 0]]
Explicación : 6 – 1 = 5, 5 – 0 = 5, es la diferencia mínima entre valores extremos.
Entrada : test_list = [[4, 10, 18], [5, 0], [2, 4, 6], [19, 2]]
Salida : [[2, 4, 6]]
Explicación : 6 – 2 = 4, es la diferencia mínima.
Método n.º 1: usar la comprensión de listas + min()
En esto, calculamos la diferencia mínima entre los valores extremos y luego usamos la comprensión de listas para obtener una fila particular con esa diferencia de valor entre los valores extremos.
Python3
# Python3 code to demonstrate working of # Matrix Minimum difference in extreme values row # Using min() + list comprehension # initializing list test_list = [[4, 10, 18], [5, 3, 10], [1, 4, 6], [19, 2]] # printing original list print("The original list is : " + str(test_list)) # getting min value min_val = min([max(sub) - min(sub) for sub in test_list]) # using list comprehension to filter res = [sub for sub in test_list if max(sub) - min(sub) == min_val] # printing result print("Rows with Minimum difference in extreme values : " + str(res))
Producción:
La lista original es: [[4, 10, 18], [5, 3, 10], [1, 4, 6], [19, 2]]
Filas con diferencia mínima en valores extremos: [[1, 4, 6]]
Método #2: Usar min() + comprensión de lista + filtro() + lambda
En esto, realizamos la tarea de filtrar comparando con el valor mínimo usando filter() + lambda.
Python3
# Python3 code to demonstrate working of # Matrix Minimum difference in extreme values row # Using min() + list comprehension + filter() + lambda # initializing list test_list = [[4, 10, 18], [5, 3, 10], [1, 4, 6], [19, 2]] # printing original list print("The original list is : " + str(test_list)) # getting min value min_val = min([max(sub) - min(sub) for sub in test_list]) # using filter() + lambda to filter res = list(filter(lambda sub : max(sub) - min(sub) == min_val, test_list)) # printing result print("Rows with Minimum difference in extreme values : " + str(res))
Producción:
La lista original es: [[4, 10, 18], [5, 3, 10], [1, 4, 6], [19, 2]]
Filas con diferencia mínima en valores extremos: [[1, 4, 6]]
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