a=[2,"nico",3.2,-5] crée une liste de 4 éléments.
Les différents éléments sont séparés par une virgule.
Des crochets entourent les éléments de la liste.
Les éléments sont numérotés à partir de 0.
2 est donc l'élément de rang 0 ou encore d'indice 0.
"nico" est l'élément de rang 1 ou d'indice 1.
-5 est l'éléments de rang 3.
Attention comme on numérote à partir de 0,
s'il y a 4 éléments, le dernier élément a pour indice 3 et pas 4 !
Les éléments ne sont pas forcément de même nature!
Dans l'exemple a=[2,"nico",3.2,-5]
2 est un entier
"nico" est une chaine de caractère.
a[0], a[1]
a[0] désigne l'élément d'indice 0
c'est à dire le premier élément de la liste.
a[1] désigne l'élément d'indice 1.
Dans l'exemple a=[2,"nico",3.2,-5]
a[0] correspond à 2.
a[1] correspond à "nico".
a[2] correspond à 3.2.
a[3] correspond à -5.
len(a)
len(a) renvoie le nombre d'éléments de la liste a.
Dans l'exemple a=[2,"nico",3.2,-5]
len(a) renvoie 4.
Car il y a 4 éléments dans cette liste.
3 techniques pour créer une liste & Enlever et rajouter des éléments
Créer une liste à la main: Li=["titi",2,"toto"]
Créer une liste avec range(): Li=list(range(2,50))
Créer une liste avec l'opérateur *: Li=[0]*10
Rajouter des éléments à la fin de la liste: 2 méthodes:
- avec l'opérateur + : Li=Li+[3] on met deux listes bout à bout (concaténation)
- avec la méthode append(): Li.append(3)
Rajouter des éléments à une position précise: utiliser la méthode insert()
Li.insert(position,élément)
Enlever des éléments: del Li[3]
Parcourir une liste
: 2 méthodes très classiques
Avec les indices
a=[2,"nico",3.2,-5]
for i in range(0,len(a)):
i correspond à un indice.
i va prendre toutes les valeurs entières de 0 à len(a)-1
Or len(a)=4
Donc i va prendre les valeurs 0 puis 1, ..., jusqu'à
3.
print(a[i])
Le programme va afficher
tous les a[i]
avec i qui va prendre toutes les valeurs entières de 0 à
len(a)-1
Avec les éléments
a=[2,"nico",3.2,-5]
for i in a:
print(i)
Cette fois, i correspond à un élément de la liste.
i ne correspond pas à un indice,
mais à un élément de la liste!
Avec a=[2,"nico",3.2,-5]
i va prendre successivement la valeur de chaque élément de la liste
a
Donc i va prendre les valeurs 2 puis "nico", ..., jusqu'à
-5.
Conseil important: Pour bien comprendre que l'on parcourt la liste avec les éléments et pas avec les indices, au lieu d'écrire:
for i in a:
print(i)
il vaut bien mieux écrire:
for element in a:
print(element)
Cela permet de beaucoup mieux comprendre le code.
Python: Liste en compréhension
Les listes en compréhension
sont une technique très efficace
pour créer des listes avec un code python très court!
[x**2 for x in range(1,6)]
Crée la liste des carrés avec $x$ entier qui varie entre 1 et 6 exclu!
Ne pas oublier que:
• a**b signifie en python $a^b$
• avec range(a,b), b est exclu!
[x**2 for x in range(1,6)] va crée la liste:
[1,4,9,16,25]
Avec une condition
[x**2 for x in range(0,11) if x**2$\gt$10 and x**2$\lt 50$]
Crée la liste des carrés avec $x$ entier qui varie entre 0 et 11 exclu!
avec $x^2>10$ et $x^2\lt 50$
Ne pas oublier qu'avec range(a,b)
b est exclu!
[x**2 for x in range(0,11) if x**2$\gt$10 and x**2$\lt 50$]
va crée la liste:
[16,25,36,49]
Filtrer une liste
Les liste en compréhension
sont un moyen très efficace pour filtrer une liste!
a=[2,15,3,7,11,18,1,20,7]
b=[x for x in a if x$\gt$5]
Crée la liste b composée des éléments de a qui sont supérieurs à 5!
On a filtrer la liste a
en ne gardant que les éléments de a qui sont supérieurs à 5!
Et on a mis le résultat dans la liste b.
a=[2,15,3,7,11,18,1,20,7]
b=[x for x in a if x$\gt$5]
va crée la liste b:
[15,7,11,18,20,7]
Exercice
1: Python -
Calculer la moyenne d'une liste
: Écrire
un programme en Python pour calculer la moyenne d'une liste de nombres.
Exercice 2: Python - Calculer la
moyenne pondérée d'une
liste Écrire un
programme en Python pour calculer la moyenne pondérée d'une liste de nombres.
Exercice 3: Python - Maximum d'une
liste - Minimum et
étendue
Écrire un programme en python trouver le maximum d'une liste de nombres puis le minimum et
l'étendue.
Exercice 4: Python - Ne garder que
les notes supérieures à 10 - Filtrer une
liste
Créer une liste de nombres qui correspondent aux notes des élèves d'une classe.
Puis écrire un programme en Python qui à partir de cette liste, crée une nouvelle liste qui contient
uniquement les notes supérieures ou égales à $10$.
Exercice 5: Python - Mélanger une
liste
Un professeur souhaite interroger ses élèves dans un ordre aléatoire.
Créer une liste d'élèves puis écrire un programme en Python qui mélange cette liste aléatoirement (sans
utiliser shuffle).
Exercice 6: Python - Partager une
liste en 2 sous-listes de même taille
Un professeur de sports souhaite constituer aléatoirement 2 équipes de même taille.
Créer une liste d'élèves dont le nombre est pair. Puis écrire un programme en Python qui réponde au
problème (sans utiliser shuffle).
Exercice 7: Python liste - Triangle
de Pascal
Écrire un programme en python qui calcule pour un entier $n$ donné les coefficients
binomiaux ${n\choose k}$ à l'aide de la relation de Pascal.
Ce site vous a été utile?
Ce site vous a été utile
alors dites-le !
Une vidéo vous a plu, n'hésitez pas à mettre un like ou la partager !
Mettez un lienwww.jaicompris.com sur votre site, blog, page
facebook
Abonnez-vous gratuitement sur Youtube pour être au courant des
nouvelles vidéos
Merci à vous.
Contact
Vous avez trouvé une erreur
Vous avez une suggestion
N'hesitez pas à envoyer un mail à: jaicompris.com@gmail.com
Liens
Site de Physique - Chimie: Labolycée Annales de Bac Exovidéo Cours et exercices en vidéo!
Qui sommes-nous?
Nicolas Halpern-Herla
Agrégé de Mathématiques
Professeur en S, ES, STI et STMG depuis 28 ans
Créateur de jeux de stratégie: Agora et
Chifoumi
Stephane Chenevière
Agrégé de Mathématiques
Professeur en S, ES et STMG depuis 19 ans
Champion de France de magie en 2001: Magie