Python – Elementos Kth traseros

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))
Producción :

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))
Producción :

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *