Related Articles

# Python program to create a list centered on zero

• Last Updated : 06 Apr, 2020

Given two integer variables, limit and diff, write a Python program to create a list that is centered on zero, using limit, which specifies limit of the list and diff that specifies the common difference between integers.

Examples:

```Input : limit = 1, diff = 0.5
Output : [-1, -0.5, 0.0, 0.5, 1]

Input : limit = 25, diff = 5
Output : [-25, -20, -15, -10, -5, 0, 5, 10, 15, 20, 25]
```

Approach #1 : Naive Approach

This is a naive approach to the above problem. First, create an empty list ‘lst’, and then we use a while loop to append the next integer with a difference equal to ‘diff’.

 `# Python3 program to Convert a ``# list to dictionary`` ` `def` `create(limit, diff):``         ` `    ``lst ``=` `[``-``limit]``    ``while` `lst[``-``1``] < limit:``        ``lst.append(lst[``-``1``] ``+` `diff)``    ``lst[``-``1``] ``=` `limit``    ``return` `lst``         ` `# Driver code``limit ``=` `1``diff ``=` `0.5``print``(create(limit, diff))`
Output:
```[-1, -0.5, 0.0, 0.5, 1]
```

Approach #2 : Using Python Numpy

Using Numpy module makes the solution a lot easier. In this method, we use `np.arange` which return evenly spaced values within a given interval ‘diff’.

 `# Python3 program to Convert a ``# list to dictionary``import` `numpy as np`` ` `def` `create(limit, diff):``    ``lst ``=` `np.arange(diff, limit, diff)``    ``if` `(lst[``-``1``] !``=` `limit):``        ``lst ``=` `np.r_[lst, limit]``         ` `    ``return` `np.r_[``-``lst[::``-``1``], ``0``, lst].tolist()``         ` `# Driver code``limit ``=` `1``diff ``=` `0.5``print``(create(limit, diff))`
Output:
```[-1.0, -0.5, 0.0, 0.5, 1.0]
```

Approach #3 : list comprehension

 `# Python3 Python program to create a list centered on zero`` ` `def` `create(limit, diff):``    ``length ``=` `int``(((limit``/``diff)``*``2``)``+``1``)    ``    ``list` `=` `[``-``limit``+``i``*``diff ``for` `i ``in` `range``(length)]``    ``return` `list`  `     ` `         ` `# Driver code``limit ``=` `1``diff ``=` `0.5``print``(create(limit, diff))`
Output:
```[-1.0, -0.5, 0.0, 0.5, 1.0]
```

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