On commence: بسم الله
C’est une Data Structure que j’utilise dans presque tout les codes. On peut l’imaginer sous forme d’une table avec un seul ligne avec des indices affectées pour chaque case ( commençant par 0 )
La notion des indices négatives/inversés ne doit etre nouveau pour toi car on l’a déjà vu pour les chianes de caractères.
Pour que le pc comprend qu’il s’agit d’une liste, on doit mettre ses éléments séparés par virgule et un crochet à chaque extrémité
Voilà comment je peux construire une liste d’entiers de 1 à 5:
Question: Que doit etre le type d’une case d’une liste pour ne pas avoir des erreurs?
Les listes est une notion très puissantes, une case d’une liste peut etre n’importe quelle Data Structure (meme une liste), par exemple
Ecoute moi trèèèès bien
Tu ne dois pas ignorer le code précédent, tu dois savoir ce qui se passe (si tu veux maitriser Python biensur, sinon ce cours n’est pas pour toi).
Si tu n’as pas bien compris, tu dois réviser les cours précédents, me contacter via le mail ou bien si tu veux des cours individuelles tu peux prendre un RDV
NB: On peut aussi accéder un extrait d’une liste (ou sous liste)
Modifier une liste
Une propriété qui existe dans les listes et qui n’existe pas dans les chaines de caractères, c’est que les listes sont modifiables.
Dans le cours des chaines de caractères, on a dit que pour changer un élément d’une chaine, il faut que j’affecte au variable une autre valeur.
J’ai donner l’exemple pour une chaine s = ‘Yaszir’ que je veux changer à ‘Yassir’, il faut que j’écris s = ‘Yassir’ sinon il va rester le meme.
Mais pour les listes, je peux selectionner le contenu d’une case sans affecter les autres:
Si on veut faire la meme chose pour les chaines de caractères, ça va générer une erreur:
Longueur d’une liste:
On peut calculer la loungueur d’une liste (c-à-d le nombre de cases) en utilisant la faonction len ( )
Liste vide:
Une liste peut etre vide, c’est à dire égale à *[ ]*. Sa longueur est égale à 0
NB: Une case vide n’existe pas en python
Opérations sur les listes:
1. Concaténation:
On peut concaténer (coller) deux ou plusieurs listes en utilisant l’opérateur ‘+’ (Réflichit un peu, tu va remarqué que cet opérateur n’est pas le meme qui fait la somme des nombres oui celui qui fait la concaténation entre les chaines de caractères, oui c’est le meme symbole mais en réalité ce n’est pas le meme opérateur, c’est comme les listes, les chaines et les nombres ont des dimmensions différents).
2. Ajout d’un élément/case:
Soit une liste L, on veut ajouter un élément x à cette liste (donc sa longueur va etre augmenté par 1).
Pour l’ajouter, il y’a 2 méthodes:
- La concaténation: on crée une liste qui contient seulement l’élément x et on la concate avec L
- La fonction append ( ): on écrit L.append(x) pour l’ajouter
NB:
- l’élément est ajouté à la fin de la liste
- Il vaut mieux d’utiliser append ( )
3. Echange de 2 cases:
En Python, on peut échanger les valeurs entre 2 cases d’une liste.
4. Supprimer une case:
Soit une liste L et i unn entier entre 0 et len(L).
Si on veut supprimer L [ i ], on écrit : L . pop ( i )
NB: Si on écrit L . pop ( ) , c’est le dernier élément qui va etre supprimé
Remarque:
Il y a 2 formes sous lequel on applique une fonction: soit fonction (Data Structure) ( comme len ( ) ) ou bien DataStructure . fonction ( ) ( comme pop ( ) et append ( ) ).
Donc essaye de ne pas mélanger les choses
On va voir la notion fonction en Python
Tuples
Les tuples sont semblables aux listes sauf qu’on ne peut pas les modifier (j’ai jamais utilisé les tuples dans mes projets mais ça fait partie du programme 🤷♂️).
Pour les listes, on utilise les crochets « [ ] », pour construire une tuple on utilise les paranethèses « ( ) »:
Accès aux éléments
Soit un tuple T, on peut accéder à l’i+1-ème
élément (0 <= i <= len(T))
en exécutant la commande T[i]
et on peut accéder à un extrait entre i+1
et j
par T[i:j]
Comment peut-on modifier un tuple
Par définition, les tuples ne sont pas modifiables. Pour les modifier, on doit les convertir en liste, modifier les éléments et la ré-convertir en tuple.