Comment créer une liste de nombres en python ?

Introduction

Python offre une variété de méthodes pour créer des listes d'entiers, de flottants ou de nombres aléatoires. Voici une exploration de ces méthodes, avec des exemples et leurs sorties.

Création de Listes d'Entiers

Une Liste d'Entiers de 0 à ( n )

Pour créer une liste d'entiers de 0 à ( n ), utilisez la fonction range().

Avec une compréhension de liste :

1
2
n = 9
[i for i in range(n+1)]

Sortie :

1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Avec la fonction list() :

1
list(range(n+1))

Sortie :

1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Nombres Pairs

Générez une liste de nombres pairs en filtrant les entiers divisibles par 2 :

1
[i for i in range(10) if i % 2 == 0]

Sortie :

1
[0, 2, 4, 6, 8]

Nombres Impairs

Pour les nombres impairs, filtrez les entiers qui ne sont pas divisibles par 2 :

1
[i for i in range(10) if i % 2 != 0]

Sortie :

1
[1, 3, 5, 7, 9]

Une Liste d'Entiers de ( m ) à ( n )

Définissez des bornes personnalisées pour le début (( m )) et la fin (( n )) :

1
2
m, n = 1, 9
[i for i in range(m, n+1)]

Sortie :

1
[1, 2, 3, 4, 5, 6, 7, 8, 9]

Pour des plages négatives :

1
[i for i in range(-10, 11)]

Sortie :

1
[-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Listes Conditionnelles d'Entiers

Appliquez plusieurs conditions pour filtrer votre liste :

1
[x for x in range(-10, 21) if x > 5 and x < 20]

Sortie :

1
[6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]

Utilisation de Fonctions pour Remplir des Listes

Définissez des fonctions pour appliquer des transformations, comme élever des nombres au carré :

1
2
3
4
def square(x):
    return x**2

[square(x) for x in range(10)]

Sortie :

1
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

Création de Listes de Nombres Flottants

Avec arange de NumPy

Créez des flottants avec un intervalle spécifique :

1
2
3
import numpy as np
i_start, i_end, step = 2, 8, 0.5
list(np.arange(i_start, i_end, step))

Sortie :

1
[2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 6.5, 7.0, 7.5]

Avec linspace de NumPy

Pour créer des flottants équidistants dans une plage :

1
2
i_start, i_end, count = 12, 16, 8
list(np.linspace(i_start, i_end, count))

Sortie :

1
2
[12.0, 12.571428571428571, 13.142857142857142, 13.714285714285714, 
    14.285714285714286, 14.857142857142858, 15.428571428571429, 16.0]

Création de Listes de Nombres Aléatoires

Nombres Entiers Aléatoires

Utilisez randint du module random :

1
2
import random
[random.randint(0, 1) for _ in range(10)]

Sortie :

1
[1, 0, 1, 1, 0, 0, 1, 1, 0, 0]  # Varie à chaque exécution

Échantillons Aléatoires

Générez un échantillon d'entiers uniques aléatoires :

1
random.sample(range(1, 100), 10)

Sortie :

1
[45, 67, 89, 23, 5, 78, 56, 12, 34, 90]  # Varie à chaque exécution

Listes Spécialisées

Jours d'un Mois Spécifique

Générez une liste d'entiers représentant les jours d'un mois avec monthrange du module calendar :

1
2
3
4
5
from calendar import monthrange

year, month = 2008, 2
days_in_month = monthrange(year, month)[1]
[day for day in range(1, days_in_month + 1)]

Sortie :

1
2
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
    21, 22, 23, 24, 25, 26, 27, 28, 29]

Conclusion

Les outils de Python pour créer des listes sont polyvalents, efficaces et adaptés à diverses tâches. Que ce soit pour générer des séquences numériques, des données aléatoires ou des listes basées sur des dates, ces méthodes offrent des solutions robustes et évolutives. La personnalisation et l'application de conditions font de Python un excellent choix pour la manipulation et l'analyse des données.

Références

Liens Site
List Comprehensions python doc
list() python doc
numpy.linspace scipy doc
numpy.arange scipy doc