Related Articles
Python | Append Odd element twice
• Last Updated : 13 May, 2019

Given a list of number, the task is to create a new list from the initial list with the condition to append every odd element twice.

Below are some ways to achieve the above task.

Method #1: Using list comprehension

 `# Python code to create a new list from initial list``# with condition to append every odd element twice.`` ` `# List initialization``Input` `=` `[``1``, ``2``, ``3``, ``8``, ``9``, ``11``]`` ` `# Using list comprehension ``Output ``=` `[elem ``for` `x ``in` `Input` `for` `elem ``in` `(x, )``*``(x ``%` `2` `+` `1``)]`` ` `# printing ``print``(``"Initial list is:'"``, ``Input``)``print``(``"New list is:"``, Output)`
Output:
```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 initial list``# with condition to append every odd element twice.``  ` `# Importing``from` `itertools ``import` `chain``  ` `# List initialization``Input` `=` `[``1``, ``2``, ``3``, ``8``, ``9``, ``11``]``  ` `# Using list comprehension  and chain``Output ``=` `list``(chain.from_iterable([i] ``              ``if` `i ``%` `2` `=``=` `0` `else` `[i]``*``2` `for` `i ``in` `Input``))``  ` `# printing ``print``(``"Initial list is:'"``, ``Input``)``print``(``"New list is:"``, Output)`
Output:
```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 Numpy array

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

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up