A veces necesitamos agregar un valor duplicado en la lista para varias utilidades diferentes. Este tipo de aplicación a veces se requiere en la programación día a día. Analicemos ciertas formas en las que agregamos un clon de un número a su siguiente posición.
Método #1: Uso de la comprensión de listas En este método, solo iteramos el ciclo dos veces para cada valor y lo agregamos a la nueva lista deseada. Esta es solo una alternativa abreviada al método ingenuo.
Python3
# Python3 code to demonstrate # to perform element duplication # using list comprehension # initializing list test_list = [4, 5, 6, 3, 9] # printing original list print ("The original list is : " + str(test_list)) # using list comprehension # to perform element duplication res = [i for i in test_list for x in (0, 1)] # printing result print ("The list after element duplication " + str(res))
Producción :
The original list is : [4, 5, 6, 3, 9] The list after element duplication [4, 4, 5, 5, 6, 6, 3, 3, 9, 9]
Método #2: Usando reduce() + add También podemos usar la función reduce para actuar la función para realizar la suma de un par de números similares simultáneamente en la lista.
Python3
# Python3 code to demonstrate # to perform element duplication # using reduce() + add from operator import add # initializing list test_list = [4, 5, 6, 3, 9] # printing original list print ("The original list is : " + str(test_list)) # using reduce() + add # to perform element duplication res = list(reduce(add, [(i, i) for i in test_list])) # printing result print ("The list after element duplication " + str(res))
Producción :
The original list is : [4, 5, 6, 3, 9] The list after element duplication [4, 4, 5, 5, 6, 6, 3, 3, 9, 9]
Método #3: Usar la función itertools.chain().from_iterable() from_iterable también se puede usar para realizar esta tarea de agregar un duplicado. Simplemente hace el par de cada elemento iterado y lo inserta sucesivamente.
Python3
# Python3 code to demonstrate # to perform element duplication # using itertools.chain.from_iterable() import itertools # initializing list test_list = [4, 5, 6, 3, 9] # printing original list print ("The original list is : " + str(test_list)) # using itertools.chain.from_iterable() # to perform element duplication res = list(itertools.chain.from_iterable([i, i] for i in test_list)) # printing result print ("The list after element duplication " + str(res))
Producción :
The original list is : [4, 5, 6, 3, 9] The list after element duplication [4, 4, 5, 5, 6, 6, 3, 3, 9, 9]
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