Dada una array, un conjunto de coordenadas y un elemento, la tarea es escribir un programa en Python que pueda obtener las coordenadas de los elementos en la próxima aparición.
Entrada: test_list = [[4, 3, 1, 2, 3], [7, 5, 3, 6, 3], [8, 5, 3, 5, 3], [1, 2, 3, 4, 6]], yo, j = 1, 3, K = 3
Salida: (1, 4)
Explicación: después de (1, 3), 3 se encuentra en (1, 4)
Entrada: test_list = [[4, 3, 1, 2, 3], [7, 5, 3, 6, 3], [8, 5, 3, 5, 3], [1, 2, 3, 4, 6]], yo, j = 2, 3, K = 3
Salida: (2, 4)
Explicación: después de (2, 3), 3 se encuentra en (2, 4)
Método: usar bucle y enumerar()
En esto, comenzamos la iteración desde las coordenadas requeridas y verificamos solo la siguiente K más cercana dentro del rectángulo formado desde la fila + 1, columna + 1 a la coordenada N, N. Devuelve -1, -1 si no se encuentra ninguna ocurrencia.
Ejemplo:
Python3
# get Nearest coord. def near_coord(test_list, x, y, val): for idx, row in enumerate(test_list[x:]): for j, ele in enumerate(row): # checking for value at lower formed rectangle if ele == val and j > y: return idx + x, j # if no index found return -1, -1 # initializing list test_list = [[4, 3, 1, 2, 3], [7, 5, 3, 6, 3], [8, 5, 3, 5, 3], [1, 2, 3, 4, 6]] # printing original list print("The original list is : " + str(test_list)) # initializing check coord i, j = 1, 3 # initializing K K = 3 # getting nearest coordinates res_abs, res_ord = near_coord(test_list, i, j, K) # printing result print("Found K index : " + str((res_abs, res_ord)))
Producción:
La lista original es: [[4, 3, 1, 2, 3], [7, 5, 3, 6, 3], [8, 5, 3, 5, 3], [1, 2, 3, 4 , 6]]
Índice K encontrado: (1, 4)
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