Programa Python para convertir una lista en una lista de listas usando un valor de paso

Dada una Lista, la tarea aquí es escribir un programa de Python que pueda dividir la lista en una lista de listas utilizando un valor de paso aquí indicado mediante K.

Entrada: test_list = [5, 6, 3, 2, 7, 1, 9, 10, 8], K = 3

Salida: [[5, 2, 9], [6, 7, 10], [3, 1, 8]]

Explicación: 5, 2 y 9 son elementos 0, 3 y 6 respectivamente, y por lo tanto (diferencia 3) agrupados.

Entrada: test_list = [5, 6, 3, 2, 7, 1], K = 3

Salida: [[5, 2], [6, 7], [3, 1]]

Explicación: 5 y 2 son el 0 y el 3er elemento respectivamente y, por lo tanto, (diferencia 3) están agrupados.

Método 1: Usando loop y rebanando

En esto, el bucle se emplea para omitir números según sea necesario, y cada lista subsiguiente omitida se extrae mediante la división y se agrega al resultado.

Ejemplo:

Python3

# initializing list
test_list = [5, 6, 3, 2, 7, 1, 9, 10, 8]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing skips
K = 3
  
res = []
for idx in range(0, K):
  
    # 3rd arg. of slicing skips by K
    res.append(test_list[idx::K])
  
# printing result
print("Stepped splitted List : " + str(res))

Producción:

La lista original es: [5, 6, 3, 2, 7, 1, 9, 10, 8]

Lista dividida escalonada: [[5, 2, 9], [6, 7, 10], [3, 1, 8]]

Método 2: usar la comprensión de listas y el corte

Similar al método anterior, la única diferencia es el uso de la comprensión de la lista para la tarea de iteración en lugar del bucle para la alternativa abreviada.

Ejemplo:

Python3

# initializing list
test_list = [5, 6, 3, 2, 7, 1, 9, 10, 8]
  
# printing original list
print("The original list is : " + str(test_list))
  
# initializing skips
K = 3
  
# list comprehension used as one liner
res = [test_list[idx::K] for idx in range(0, K)]
  
# printing result
print("Stepped splitted List : " + str(res))

Producción:

La lista original es: [5, 6, 3, 2, 7, 1, 9, 10, 8]

Lista dividida escalonada: [[5, 2, 9], [6, 7, 10], [3, 1, 8]]

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 *