Dada una Array, extraiga filas con secuencia AP.
Entrada : test_list = [[4, 7, 10], [8, 10, 12], [10, 11, 13], [6, 8, 10]]
Salida : [[4, 7, 10], [8 , 10, 12], [6, 8, 10]]
Explicación : 3, 4 y 2 son diferencias comunes en AP.Entrada : test_list = [[4, 7, 10], [8, 10, 13], [10, 11, 13], [6, 8, 10]]
Salida : [[4, 7, 10], [6 , 8, 10]]
Explicación : 3 y 2 son diferencias comunes en AP.
Método #1: Usar bucle
En esto, verificamos todos los elementos que tienen una diferencia común usando un bucle, si algún elemento no está sincronizado, entonces la fila se marca y no se agrega al resultado.
Python3
# Python3 code to demonstrate working of # Extract rows with common difference elements # Using loop # initializing list test_list = [[4, 7, 10], [8, 10, 12], [10, 11, 13], [6, 8, 10]] # printing original list print("The original list is : " + str(test_list)) res = [] for row in test_list: flag = True for idx in range(0, len(row) - 1): # check for common difference if row[idx + 1] - row[idx] != row[1] - row[0]: flag = False break if flag : res.append(row) # printing result print("Filtered Matrix : " + str(res))
Producción:
La lista original es: [[4, 7, 10], [8, 10, 12], [10, 11, 13], [6, 8, 10]]
Array filtrada: [[4, 7, 10], [8, 10, 12], [6, 8, 10]]
Método #2: Usando all() + comprensión de lista
En esto, verificamos que todos los valores tengan una diferencia común usando all(), la comprensión de lista se usa para realizar una iteración de filas.
Python3
# Python3 code to demonstrate working of # all() + list comprehension # Using list comprehension + all() # initializing list test_list = [[4, 7, 10], [8, 10, 12], [10, 11, 13], [6, 8, 10]] # printing original list print("The original list is : " + str(test_list)) # checking for all values to have common difference res = [row for row in test_list if all(row[idx + 1] - row[idx] == row[1] - row[0] for idx in range(0, len(row) - 1))] # printing result print("Filtered Matrix : " + str(res))
Producción:
La lista original es: [[4, 7, 10], [8, 10, 12], [10, 11, 13], [6, 8, 10]]
Array filtrada: [[4, 7, 10], [8, 10, 12], [6, 8, 10]]
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