Générer une liste de nombres avec python

Pour générer une liste de nombres avec python il existe plusieurs possibilités. On peut utiliser les List Comprehensions ou encore passer par la fonction built-in list(). Illustration, supposons que l'on veuille avoir une liste de nombres entiers entre 0 et N, on peut utiliser la fonction range(N):

>>> l = [i for i in range(10)]
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l = list(range(10))
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Pour avoir une liste de nombres entiers entre N et M (avec M>N) on peut utiliser range(N,M):

>>> l = [i for i in range(25,35)]
>>> l
[25, 26, 27, 28, 29, 30, 31, 32, 33, 34]
>>> l = list(range(25,35))
>>> l
[25, 26, 27, 28, 29, 30, 31, 32, 33, 34]

Pour avoir une liste de nombres décimaux dans un intervalle (N,M) avec un pas donné, on peut utiliser la fonction de numpy arange:

>>> import numpy as np
>>> l = [i for i in np.arange(2,8,0.5)]
>>> l
[2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5]
>>> l = list(np.arange(2,8,0.5))
>>> l
[2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5]

Pour avoir une liste de nombres décimaux dans un intervalle (N,M) avec le nombre de nombres décimaux que l'on souhaite on peut passer par le fonction numpy linspace:

>>> import numpy as np
>>> l = [i for i in np.linspace(12,16,8)]
>>> l
[12.0, 12.571428571428571, 13.142857142857142, 13.714285714285714, 14.285714285714285, 14.857142857142858, 15.428571428571429, 16.0]
>>> l = list(np.linspace(12,16,8))
>>> l
[12.0, 12.571428571428571, 13.142857142857142, 13.714285714285714, 14.285714285714285, 14.857142857142858, 15.428571428571429, 16.0]

Références