# Python program to create a list centered on zero

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.5Output :[-1, -0.5, 0.0, 0.5, 1]Input :limit = 25, diff = 5Output :[-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**