Python program for creating a list centered at zero



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: The naive approach

This is the naive approach to the above problem. First, create an empty list & # 39; lst & # 39; and then we use a while loop to add the next integer with a difference of & # 39; diff & # 39 ;.

# Python3 conversion program
# list to dictionary

 

def create (limit, diff):

 

lst = [ - limit]

while lst [ - 1 ] & lt; limit:

lst.append (lst [ - 1 ] + diff)

lst [ - 1 ] = limit

return lst

 
# Driver code

limit = 1

diff = 0.5

print (create (limit, diff))

Exit:

 [-1, -0.5, 0.0, 0.5, 1] ​​ 

Approach # 2 Using Python Numpy

Using the Numpy module makes the solution much easier. In this method we use np.arange which returns evenly spaced values ​​in a given interval & # 39; diff & # 39 ;.


# Python3 conversion program
# 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))

Exit:

 [-1, -0.5, 0.0, 0.5, 1] ​​