Il est impératif de sauvegarder régulièrement le code en le collant dans un fichier texte (Notepad++) ou dans l'éditeur de pyzo.
Chaînes et listes sont des séquences en python : des collections d'objets dans un ordre précis.
            Il existe une différence importante entre les chaînes et les listes : il n'est pas possible de modifier un caractère d'une
            chaîne tandis qu'il est fréquent de modifier un élément d'une liste. On dit qu'une liste est mutable et qu'une chaîne
            est immutable.
| Chaîne s | Liste L | |
| Séquence vide | s = '' | L =[] | 
| Longueur | len(s) | len(L) | 
| Définition par extension | s = 'abcd' | L = [3, True, 'b', -1] | 
| Définition par compréhension | Utiliser une boucle | L = [i**2 for i in range(10)] | 
| Accès à l'élément d'index (ou indice) i ATTENTION : la numérotation commence à 0 | s[i] | L[i] | 
| Ajout en fin de séquence | s = s + 'efgh'ous += 'efgh' | L = L + ['z', 3.14, 0]ouL += ['z', 3.14, 0]ou L.append(-47)(un seul élément ; opération rapide) | 
| Ajout en début de séquence | s = 'zyx' + s | L = [5, False] + L | 
| Remplacement d'un élément | IMPOSSIBLE | L[i] = 99 | 
| Slicing d = index de début, f = index de fin (exclu), p = pas (facultatif) | s[d:f:p]s[d:]s[:f]s[::p] | L[d:f:p]L[d:]L[:f]s[::p] | 
|  |  | 
Construire par compréhension les listes suivantes :
                        - la liste L1 des entiers de 0 à 100 ;
                        - la liste L2 des cubes des entiers de 0 à 100 (inclus) ;
                        - la liste L3 des cubes des entiers de 0 à 100 (inclus) seulement si le résultat est pair (il est possible 
                        d'ajouter un test dans la définition par compréhension : [... for ... if ...]).
                    
Les cellules de code se comportent comme un éditeur python et non comme le shell : utiliser l'instruction print() pour visualiser les résultats.
A partir de la liste L1 précédente, extraire les sous-listes suivantes.
                        - L1a et L1b constituées respectivement des entiers de 0 à 50 et des entiers de 51 à 100.
                        - Quel est le résultat de L1 == L1a + L1b ?
                        - L1p et L1i constituées respectivement des nombres pairs et impairs de L1.
                        - Quel est le résultat de L1 == L1p + L1i ? Expliquer.
                        - L1_5 constituée des multiples de 5 dans L1.
                        - L1_3070 constituée de tous les entiers n tels que \(30 \leq n \leq 70\).
                        - L1_3070_5 constituée de tous les entiers n multiples de 5 tels que \(30 \leq n \leq 70\).
                    
A chaque caractère c est associé un entier : la fonction ord(c) donne cet entier.
                    Réciproquement, la fonction chr(n) permet de connaître le caractère associé à un entier n.
                    
1/ Construire par compréhension les chaînes sm et sM constituées respectivement des lettres minuscules et des lettres majuscules (non accentuées).
2/ Construire la chaîne smM de la forme : 'aAbB...zZ'.
3/ Construire par extension la chaîne sv des voyelles non accentuées.
                        A l'aide de sv et sm, construire par compréhension la liste sc des consonnes (minuscules).
1/ Reconstituer les chaînes sm et sM (en leur donnant d'autres noms) à partir de smM.