Dado Matrix, de cada fila, obtenga los elementos circundantes de K, si están presentes.
Entrada : test_list = [[7, 6, 3, 2], [5, 6], [2, 1], [6, 1, 2]], K = 6
Salida : [[7, 3], [5 ], [], [1]]
Explicación : se extraen todos los elementos rodeados por 6.Entrada : test_list = [[7, 6, 3, 2], [5, 6], [2, 1], [6, 1, 2]], K = 1
Salida : [[], [], [2 ], [6, 2]]
Explicación : se eliminan todos los elementos rodeados por 1.
Método #1: Usar index() + loop + probar/excepto
En esto, verificamos el índice de elementos usando index(), y luego obtenemos los elementos circundantes requeridos accediendo a los elementos siguientes y anteriores. Si el elemento no está presente, se devuelve una lista vacía.
Python3
# Python3 code to demonstrate working of # Surrounding elements to K # Using index() + loop + try/except # initializing list test_list = [[7, 6, 3, 2], [5, 6], [2, 1], [6, 1, 2]] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 res = [] for sub in test_list: # getting index try : idx = sub.index(K) except Exception as e : res.append([]) continue # appending Surrounding elements if idx != 0 and idx != len(sub) - 1: res.append([sub[idx - 1], sub[idx + 1]]) elif idx == 0: res.append([sub[idx + 1]]) else : res.append([sub[idx - 1]]) # printing result print("The Surrounding elements : " + str(res))
Producción:
La lista original es: [[7, 6, 3, 2], [5, 6], [2, 1], [6, 1, 2]]
Los elementos circundantes: [[7, 3], [5] , [], [1]]
Método #2: Usando index() + en operator + loop
En esto, verificamos si el elemento está presente en una fila antes de la aplicación de index(), para evitar usar el bloque try/except. Resto todas las funcionalidades son las mismas que el método anterior.
Python3
# Python3 code to demonstrate working of # Surrounding elements to K # Using index() + in operator + loop # initializing list test_list = [[7, 6, 3, 2], [5, 6], [2, 1], [6, 1, 2]] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 6 res = [] for sub in test_list: # getting index # checking for element presence in row if K in sub: idx = sub.index(K) else: res.append([]) continue # appending Surrounding elements if idx != 0 and idx != len(sub) - 1: res.append([sub[idx - 1], sub[idx + 1]]) elif idx == 0: res.append([sub[idx + 1]]) else: res.append([sub[idx - 1]]) # printing result print("The Surrounding elements : " + str(res))
Producción:
La lista original es: [[7, 6, 3, 2], [5, 6], [2, 1], [6, 1, 2]]
Los elementos circundantes: [[7, 3], [5] , [], [1]]
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