A veces, mientras trabajamos con python, podemos tener el problema de dividir una lista. Este problema es bastante común y tiene muchas variaciones. Tener soluciones a las variaciones populares demuestra ser bueno a largo plazo. Analicemos cierta forma de dividir la lista en grupos desiguales según lo definido por otra lista.
Método: Usar itertools.islice()
+ comprensión de lista
La combinación de las funcionalidades anteriores se puede usar para realizar esta tarea. En esto, islice()
se utiliza para realizar la tarea central de dividir la lista y la comprensión de la lista se utiliza para realizar la tarea de vincular la lógica y las iteraciones. El contenedor se convierte en iterador para una iteración más rápida.
# Python3 code to demonstrate working of # Split list in uneven groups # using itertools.islice() + list comprehension from itertools import islice # initialize list test_list = [1, 4, 5, 7, 6, 5, 4, 2, 10] # initialize split list split_list = [3, 4, 2] # printing original list print("The original list is : " + str(test_list)) # printing split list print("The split list is : " + str(split_list)) # Split list in uneven groups # using itertools.islice() + list comprehension temp = iter(test_list) res = [list(islice(temp, 0, ele)) for ele in split_list] # printing result print("The resultant split list is : " + str(res))
The original list is : [1, 4, 5, 7, 6, 5, 4, 2, 10] The split list is : [3, 4, 2] The resultant split list is : [[1, 4, 5], [7, 6, 5, 4], [2, 10]]
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA