  # Python | Add odd item twice

NumPy | Python Methods and Functions

Here are some ways to achieve the above objective.

Method # 1: Using List Comprehension

 ` # Python code to create a new list from the initial list ` ` # with the condition to add each odd element twice. `   ` # Initialization list ` ` Input ` ` = ` ` [` ` 1 ` `, ` ` 2 ` `, ` ` 3 ` `, ` ` 8 ` `, ` ` 9 ` `, ` ` 11 ` `] ` ` `  ` # Using the comprehension list ` ` Output ` ` = ` ` [elem ` ` for ` ` x in Input for elem in (x,) * (x % 2 + 1 )] ``   # print print ( "Initial list is:` " , Input ) p rint ( "New list is:" , Output) `

Exit:

` Initial list is: `[ 1, 2, 3, 8, 9, 11] New list is: [1, 1, 2, 3, 3, 8, 9, 9, 11, 11] `

Method # 2 : Using itertools

 ` # Python code to create a new list from the initial list ` ` # with the condition to add each odd element twice. `   ` # Import ` ` from ` ` itertools ` ` import ` ` chain `   ` # Initialization list ` ` Input = [ 1 , 2 , 3 , 8 , 9 , 11 ] ``    # Using comprehension list and chaining Output = list (chain.from_iterable ([i]  if i % 2 = = 0 else [i] * 2 for i in Input ))   # print print ( "Initial list is:` " , Input ) print ( "New list is:" , Output) `

Exit:

` Initial list is: `[1, 2, 3, 8, 9, 11] New list is: [1, 1, 2, 3, 3, 8, 9, 9, 11, 11] `

Method # 3: Using a Numpy array

` `

` # Python code to create a new list from the initial list # with the condition to add each odd element twice.   # Import import numpy as np   # Initialization list Input = [ 1 , 2 , 3 , 8 , 9 , 11 ] Output = []    # Using Numpy to repeat for x in Input :   ( Output.extend (np.repeat (x, 2 , axis = 0 ))   if x % 2 = = 1 else Output.append (x))   # print print ( " Initial list is: `" , Input ) print ( "New list is:" , Output) `

` ` Exit:

` Initial list is: `[1, 2, 3, 8, 9, 11] New list is: [1, 1, 2, 3, 3, 8, 9, 9, 11, 11] `