Dada una lista, escriba un programa de Python para encontrar el intervalo de elementos pares en la lista, es decir, la distancia entre la primera y la última ocurrencia del elemento par.
Ejemplos:
Entrada : test_list = [1, 3, 7, 4, 7, 2, 9, 1, 10, 11]
Salida : 5
Explicación : los elementos pares comienzan en 4 y terminan en 10, abarcando 5 índices.
Entrada : test_list = [1, 3, 7, 4, 7, 2, 9, 1, 1, 11]
Salida : 2
Explicación : los elementos pares comienzan en 4 y terminan en 2, abarcando 2 índices.
Método #1: Usar la comprensión de listas
En esto, obtenemos todos los índices de todos los elementos pares usando la comprensión de listas y luego realizamos la diferencia del primer y último índice de los elementos coincidentes en la lista.
Python3
# Python3 code to demonstrate working of # Even elements span in list # Using list comprehension # initializing Matrix test_list = [1, 3, 7, 4, 7, 2, 9, 1, 10, 11] # printing original list print("The original list is : " + str(test_list)) # getting even indices indices_list = [idx for idx in range( len(test_list)) if test_list[idx] % 2 == 0] # getting difference of first and last occurrence res = indices_list[-1] - indices_list[0] # printing result print("Even elements span : " + str(res))
The original list is : [1, 3, 7, 4, 7, 2, 9, 1, 10, 11] Even elements span : 5
Método #2: Usar filter() + lambda
En esto, realizamos la tarea de obtener índices de elementos usando filter() y lambda.
Python3
# Python3 code to demonstrate working of # Even elements span in list # Using filter() + lambda # initializing Matrix test_list = [1, 3, 7, 4, 7, 2, 9, 1, 10, 11] # printing original list print("The original list is : " + str(test_list)) # getting even indices indices_list = list( filter(lambda x: test_list[x] % 2 == 0, range(len(test_list)))) # getting difference of first and last occurrence res = indices_list[-1] - indices_list[0] # printing result print("Even elements span : " + str(res))
The original list is : [1, 3, 7, 4, 7, 2, 9, 1, 10, 11] Even elements span : 5
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