Muchas veces tenemos este caso de uso particular en el que necesitamos repetir cada elemento de la lista K veces. Se han discutido los problemas de hacer un clon doble, pero este problema se extiende para permitir que una variable flexible defina el número de veces que se debe repetir el elemento. Analicemos ciertas formas en que esto se puede realizar.
Método #1: Uso de la comprensión de listas
Esta tarea en particular requiere generalmente 2 bucles y la comprensión de listas puede realizar esta tarea en particular en una línea y, por lo tanto, reducir las líneas de códigos y mejorar la legibilidad del código.
# Python3 code to demonstrate # repeat element K times # using list comprehension # initializing list of lists test_list = [4, 5, 6] # printing original list print("The original list : " + str(test_list)) # declaring magnitude of repetition K = 3 # using list comprehension # repeat elements K times res = [ele for ele in test_list for i in range(K)] # printing result print("The list after adding elements : " + str(res))
The original list : [4, 5, 6] The list after adding elements : [4, 4, 4, 5, 5, 5, 6, 6, 6]
Método #2: Usaritertools.chain.from_iterable() + itertools.repeat()
Este problema en particular también se puede resolver usando las funciones incorporadas de Python de la biblioteca itertools. La función de repetición, como su nombre indica, hace la tarea de repetir y agrupar en una lista mediante la función from_iterable.
# Python3 code to demonstrate # repeat element K times # using itertools.chain.from_iterable() + itertools.repeat() import itertools # initializing list of lists test_list = [4, 5, 6] # printing original list print("The original list : " + str(test_list)) # declaring magnitude of repetition K = 3 # using itertools.chain.from_iterable() # + itertools.repeat() repeat elements K times res = list(itertools.chain.from_iterable(itertools.repeat(i, K) for i in test_list)) # printing result print("The list after adding elements : " + str(res))
The original list : [4, 5, 6] The list after adding elements : [4, 4, 4, 5, 5, 5, 6, 6, 6]
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