Dada una lista, la tarea es extraer todos los elementos Kth de la parte trasera.
Entrada : test_list = [3, 4, 5, 2, 1], K = 2
Salida : [1, 5, 3]
Explicación : cada segundo elemento se extrae de la parte posterior a partir de 1.Entrada : test_list = [3, 4, 5], K = 1
Salida : [5, 4, 3]
Explicación : todos los elementos se extraen desde atrás a partir de 1.
Método n.° 1: Uso del bucle
El método bruto es para resolver este problema. En esto, invertimos y luego realizamos una iteración para obtener cada K-ésimo elemento múltiple.
# Python3 code to demonstrate working of # Rear Kth elements # Using loop # initializing list test_list = [3, 5, 7, 9, 10, 2, 8, 6] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 3 # Rear Kth elements res = [] test_list.reverse() for idx, ele in enumerate(test_list): # Extracting elements divisible by K if idx % K == 0: res.append(ele) # printing result print("Rear Kth elements : " + str(res))
The original list is : [3, 5, 7, 9, 10, 2, 8, 6] Rear Kth elements : [6, 10, 5]
Método n.° 2: Uso de segmentación de listas
Esta es una solución abreviada para este problema. Usamos el poder de omitir el corte de lista para omitir el elemento Kth, y también lo invertimos.
# Python3 code to demonstrate working of # Rear Kth elements # Using list slicing # initializing list test_list = [3, 5, 7, 9, 10, 2, 8, 6] # printing original list print("The original list is : " + str(test_list)) # initializing K K = 3 # Rear Kth elements # Starting slicing from Rear (-1) and extracting all Kth elements res = test_list[-1::-K] # printing result print("Rear Kth elements : " + str(res))
The original list is : [3, 5, 7, 9, 10, 2, 8, 6] Rear Kth elements : [6, 10, 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